Function at 0x49d74e
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
push ebx
push ebp
fldcw word [0x58ac6c]
sub esp, 0x124
mov edx, edi
xor eax, eax
mov edi, esp
mov ecx, 0x49
rep stosd dword es:[edi], eax
mov edi, edx
mov ecx, dword [0x58ac74]
mov ebp, dword fs:[0x2c]
mov ebp, dword [ebp + ecx*4]
xor eax, eax
inc eax
lock xadd dword [ebp + 0x10], eax
push eax
push 0x5c0380
push 0
push 0
push dword [ebp]
mov dword [ebp], esp
cmp dword [ebp + 0xc], 0
jne 0x5487eb
push dword [esp + 0x148]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x49e1ad
mov eax, dword [eax]
mov dword [esp + 0x28], 0x808fffff
call dword [eax + 4]
lea esp, [esp + 4]
push dword [esp + 0x14c]
mov edx, dword [esp]
mov dword [esp + 0x54], edx
lea esp, [esp + 4]
nop dword [eax]
nop dword [eax]
mov dword [esp + 0x20], 0x80000331
call fcn.005288cb
mov dword [esp + 0x14], 0x49df54
nop dword [eax]
push dword [esp + 0x148]
mov eax, dword [esp]
add eax, 0x94
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x49e202
lea eax, [esp + 0x7c]
mov ecx, eax
add ecx, 0x10
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
lea eax, [esp + 0x8c]
push eax
push 0
push 1
push 0x56a5b0
push 0x56a5b4
push dword [esp + 0x14]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x40], 0x82000332
call dword [eax + 0x14]
cmp eax, 0
jl 0x49e1fe
lea edx, [esp + 0x90]
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax - 4]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x84]
push eax
push 3
push dword [esp + 0xc]
push dword [esp + 0x14]
mov dword [esp + 0x40], 0x82000332
call fcn.004d1476
mov dword [esp + 0x14], eax
cmp eax, 0
jl 0x49e1f9
lea eax, [esp + 0x94]
mov ecx, dword [eax]
cmp cx, 9
jne 0x49d8c9
push dword [eax + 8]
jmp 0x49d8e8
cmp cx, 0x4009
jne 0x49d8d7
mov eax, dword [eax + 8]
push dword [eax]
jmp 0x49d8e8
cmp cx, 0x400c
jne 0x49d8e3
mov eax, dword [eax + 8]
jmp 0x49d8bc
jmp 0x49e1ef
mov eax, dword [esp]
test eax, eax
je 0x49e1e5
lea eax, [esp + 0x70]
mov ecx, eax
add ecx, 0x10
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
lea eax, [esp + 0x80]
push eax
push 0
push 1
push 0x56a5c4
push 0x56a5c8
push dword [esp + 0x14]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x48], 0x82800332
call dword [eax + 0x14]
cmp eax, 0
jl 0x49e1e0
lea edx, [esp + 0x84]
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x74]
mov eax, dword [eax - 4]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x78]
push eax
push 3
push dword [esp + 0xc]
push dword [esp + 0x14]
mov dword [esp + 0x48], 0x82800332
call fcn.004d1476
mov dword [esp + 0x1c], eax
cmp eax, 0
jl 0x49e1db
lea eax, [esp + 0xac]
mov ecx, dword [eax]
cmp cx, 9
jne 0x49d9a3
push dword [eax + 8]
jmp 0x49d9c2
cmp cx, 0x4009
jne 0x49d9b1
mov eax, dword [eax + 8]
push dword [eax]
jmp 0x49d9c2
cmp cx, 0x400c
jne 0x49d9bd
mov eax, dword [eax + 8]
jmp 0x49d996
jmp 0x49e1c5
mov eax, dword [esp]
test eax, eax
je 0x49d9db
push eax
mov eax, dword [eax]
mov dword [esp + 0x3c], 0x81c00332
call dword [eax + 4]
lea esi, [esp + 0x6c]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
test eax, eax
je 0x49da00
push eax
mov eax, dword [eax]
mov dword [esp + 0x3c], 0x81c00332
call dword [eax + 8]
lea ecx, [esp + 0x74]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x49da22
push eax
mov eax, dword [eax]
mov dword [esp + 0x3c], 0x81c00332
call dword [eax + 8]
nop
nop
nop
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0x3c], 0x81c00332
call fcn.005612fc
lea edx, [esp + 0xb0]
push edx
mov dword [esp + 0x3c], 0x81c00332
call fcn.005612fc
nop
nop
nop
lea esp, [esp + 0x18]
nop dword [eax]
push dword [esp + 0x54]
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
push 1
push dword [esp + 0xc]
mov dword [esp + 0x34], 0x81400335
call fcn.004c28ef
cmp eax, 0
jl 0x49e20b
lea ecx, [esp + 0xc4]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x49daae
push eax
mov eax, dword [eax]
mov dword [esp + 0x28], 0x80800335
call dword [eax + 8]
lea ecx, [esp + 0xc8]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x49dad3
push eax
mov eax, dword [eax]
mov dword [esp + 0x28], 0x80800335
call dword [eax + 8]
lea esp, [esp + 4]
lea ecx, [esp + 0x58]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x49daf9
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x80400335
call dword [eax + 8]
push dword [esp + 0xac]
push 0
push esp
lea eax, [esp + 0xbc]
push eax
push 1
push dword [esp + 0x10]
mov eax, dword [esp]
test eax, eax
je 0x49e235
mov eax, dword [eax]
mov dword [esp + 0x38], 0x81800335
call dword [eax + 0xc]
cmp eax, 0
jl 0x49e231
pop ecx
dec eax
sete al
dec ecx
setne cl
or al, cl
lea esp, [esp + 4]
jne 0x49df0a
lea eax, [esp + 0xb0]
mov ecx, dword [eax]
cmp cx, 0x400c
jne 0x49db5c
mov eax, dword [eax + 8]
jmp 0x49db4e
and ecx, 0xfffffffb
cmp cx, 9
jne 0x49db6a
push dword [eax + 8]
jmp 0x49db7d
cmp cx, 0x4009
jne 0x49db78
mov eax, dword [eax + 8]
push dword [eax]
jmp 0x49db7d
jmp 0x49e22a
push 0
mov eax, dword [esp + 4]
test eax, eax
je 0x49dbb2
lea eax, [esp]
push eax
push 0x56a5d8
push dword [esp + 0xc]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400335
call dword [eax]
cmp eax, 0
jl 0x49e21a
push dword [esp]
mov ebx, dword [esp]
lea esi, [esp + 0x64]
mov eax, dword [esi]
mov dword [esi], ebx
test eax, eax
je 0x49dbdb
push eax
mov eax, dword [eax]
mov dword [esp + 0x30], 0x81000335
call dword [eax + 8]
lea edx, [esp + 0xbc]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x49dc07
push edx
mov dword [esp + 0x30], 0x81000335
call fcn.005612fc
lea esp, [esp + 0xc]
nop dword [eax]
push dword [esp + 0x58]
mov eax, dword [esp]
test eax, eax
je 0x49e25e
lea eax, [esp + 0xd0]
mov ecx, eax
add ecx, 0x10
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
lea eax, [esp + 0xe0]
push eax
push 0
push 1
push 0x56a5e8
push 0x56a5ec
push dword [esp + 0x14]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x3c], 0x81c00336
call dword [eax + 0x14]
cmp eax, 0
jl 0x49e25b
lea edx, [esp + 0xe4]
mov dword [esp + 0xd4], edx
mov eax, dword [esp + 0xd4]
mov eax, dword [eax - 4]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xd8]
push eax
push 3
push dword [esp + 0xc]
push dword [esp + 0x14]
mov dword [esp + 0x3c], 0x81c00336
call fcn.004d1476
mov dword [esp + 0x10], eax
cmp eax, 0
jl 0x49e257
lea eax, [esp + 0xe8]
mov ecx, dword [eax]
cmp cx, 0x400c
jne 0x49dcd4
mov eax, dword [eax + 8]
jmp 0x49dcc6
and ecx, 0xfffffffb
cmp cx, 9
jne 0x49dce2
push dword [eax + 8]
jmp 0x49dcf5
cmp cx, 0x4009
jne 0x49dcf0
mov eax, dword [eax + 8]
push dword [eax]
jmp 0x49dcf5
jmp 0x49e23f
push dword [esp + 0x154]
mov eax, dword [esp]
add eax, 0x94
mov eax, dword [eax]
push eax
push dword [esp]
push dword [esp + 0xc]
mov dword [esp + 0x3c], 0x81c00336
call fcn.00527514
test eax, eax
setne al
movzx eax, al
neg eax
test ax, ax
lea ecx, [esp + 0xdc]
mov eax, dword [ecx]
mov dword [ecx], 0
push eax
setne byte [esp]
test eax, eax
je 0x49dd53
push eax
mov eax, dword [eax]
mov dword [esp + 0x3c], 0x81c00336
call dword [eax + 8]
nop
nop
nop
lea edx, [esp + 0xf8]
push edx
mov dword [esp + 0x3c], 0x81c00336
call fcn.005612fc
nop
nop
nop
cmp byte [esp], 0
lea esp, [esp + 0x18]
je 0x49df02
nop dword [eax]
push dword [esp + 0x58]
push 0x56a5fc
push dword [esp + 4]
mov dword [esp + 0x2c], 0x80c00337
call fcn.0049d711
test eax, eax
setne al
movzx eax, al
neg eax
test ax, ax
lea ecx, [esp + 0xf4]
mov eax, dword [ecx]
mov dword [ecx], 0
push eax
setne byte [esp]
test eax, eax
je 0x49ddd4
push eax
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c00337
call dword [eax + 8]
cmp byte [esp], 0
lea esp, [esp + 8]
je 0x49df02
nop dword [eax]
push dword [esp + 0x58]
mov eax, dword [esp]
test eax, eax
je 0x49e279
lea eax, [esp + 0xf8]
mov ecx, eax
add ecx, 0x10
mov dword [eax], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
lea eax, [esp + 0x54]
push eax
pop edx
lea eax, [esp + 0x11c]
mov word [eax], 0x4003
mov dword [eax + 8], edx
lea eax, [esp + 0x108]
lea ecx, [esp + 0x11c]
push dword [ecx + 0xc]
push dword [ecx + 8]
push dword [ecx + 4]
push dword [ecx]
pop dword [eax]
pop dword [eax + 4]
pop dword [eax + 8]
pop dword [eax + 0xc]
lea eax, [esp + 0x118]
push eax
push 0
push 1
push 0x56a60c
push 0x56a610
push dword [esp + 0x14]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x3c], 0x81c00338
call dword [eax + 0x14]
cmp eax, 0
jl 0x49e276
lea edx, [esp + 0x11c]
mov dword [esp + 0xfc], edx
mov eax, dword [esp + 0xfc]
mov eax, dword [eax - 4]
push eax
push 0
lea eax, [esp + 0x100]
push eax
push 1
push dword [esp + 0xc]
push dword [esp + 0x14]
mov dword [esp + 0x3c], 0x81c00338
call fcn.004d1476
mov dword [esp + 0x10], eax
cmp eax, 0
jl 0x49e266
nop
nop
nop
lea edx, [esp + 0x120]
push edx
mov dword [esp + 0x2c], 0x80c00338
call fcn.005612fc
lea edx, [esp + 0x130]
push edx
mov dword [esp + 0x2c], 0x80c00338
call fcn.005612fc
nop
nop
nop
lea esp, [esp + 8]
nop dword [eax]
jmp 0x49dad7
lea ecx, [esp + 0xac]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x49df2f
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033b
call dword [eax + 8]
lea ecx, [esp + 0xa8]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x49df54
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033b
call dword [eax + 8]
nop dword [eax]
jmp 0x49df5f
lea ecx, [esp + 0x54]
mov eax, dword [ecx]
test eax, eax
je 0x49df7b
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea ecx, [esp + 0x58]
mov eax, dword [ecx]
test eax, eax
je 0x49df97
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea ecx, [esp + 0x5c]
mov eax, dword [ecx]
test eax, eax
je 0x49dfb3
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea edx, [esp + 0x88]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x49dfdf
push edx
mov dword [esp + 0x24], 0x8040033e
call fcn.005612fc
lea edx, [esp + 0x98]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x49e00b
push edx
mov dword [esp + 0x24], 0x8040033e
call fcn.005612fc
lea ecx, [esp + 0xa8]
mov eax, dword [ecx]
test eax, eax
je 0x49e02a
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea ecx, [esp + 0xac]
mov eax, dword [ecx]
test eax, eax
je 0x49e049
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea edx, [esp + 0xb0]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x49e075
push edx
mov dword [esp + 0x24], 0x8040033e
call fcn.005612fc
lea ecx, [esp + 0xc0]
mov eax, dword [ecx]
test eax, eax
je 0x49e094
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea ecx, [esp + 0xc4]
mov eax, dword [ecx]
test eax, eax
je 0x49e0b3
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea ecx, [esp + 0xc8]
mov eax, dword [ecx]
test eax, eax
je 0x49e0d2
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea edx, [esp + 0xe0]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x49e0fe
push edx
mov dword [esp + 0x24], 0x8040033e
call fcn.005612fc
lea ecx, [esp + 0xf0]
mov eax, dword [ecx]
test eax, eax
je 0x49e11d
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040033e
call dword [eax + 8]
lea edx, [esp + 0x118]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x49e149
push edx
mov dword [esp + 0x24], 0x8040033e
call fcn.005612fc
lea edx, [esp + 0x128]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x49e175
push edx
mov dword [esp + 0x24], 0x8040033e
call fcn.005612fc
push dword [esp + 0x148]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x99e37b24
mov eax, dword [eax]
mov dword [esp + 0x28], 0x8080033e
call dword [eax + 8]
lea esp, [esp + 4]
pop ecx
mov dword [ebp], ecx
pop eax
add esp, 0x130
pop ebp
pop ebx
pop esi
ret 8
pop edx
pop edx
mov eax, 0x800a005b
push eax
push eax
push 0x15000
push 0x3c00330
call fcn.00560734
add esp, 0x14
mov eax, 0x800a01a8
push eax
push eax
push 0x260000
push 0x5400332
jmp 0x49e1c0
add esp, 0x14
jmp 0x49e1cd
add esp, 0x10
jmp 0x49e1cd
add esp, 0x10
mov eax, 0x800a005b
jmp 0x49e1cd
add esp, 0xc
mov eax, 0x800a01a8
jmp 0x49e1cd
add esp, 0xc
jmp 0x49e1cd
pop edx
pop edx
jmp 0x49e1cd
pop edx
pop edx
mov eax, 0x800a005b
jmp 0x49e1cd
pop edx
push eax
push eax
push 0x81000
push 0x18400335
jmp 0x49e1c0
pop edx
pop edx
push eax
push eax
push 0x134000
push 0x1c480335
jmp 0x49e1c0
mov eax, 0x800a01a8
jmp 0x49e21c
pop edx
pop edx
jmp 0x49e21c
add esp, 0x18
mov eax, 0x800a005b
jmp 0x49e21c
pop edx
pop edx
mov eax, 0x800a01a8
push eax
push eax
push 0x175000
push 0x25e80336
call fcn.00560734
pop edx
pop edx
jmp 0x49e246
pop edx
jmp 0x49e246
pop edx
mov eax, 0x800a005b
jmp 0x49e246
pop edx
pop edx
push eax
push eax
push 0x4011c000
push 0x34c00338
jmp 0x49e252
pop edx
jmp 0x49e268
pop edx
mov eax, 0x800a005b
jmp 0x49e268