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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x579b10
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x5b107c]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov eax, dword [0x5b107c]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x10], 0
mov dword [esp + 0x2c], edi
je 0x49d710
mov ecx, dword [edi + 0x2a8]
xor edx, edx
mov eax, ecx
div dword [0x67ddb8]
mov eax, dword [0x67ddbc]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x49cc6f
lea esp, [esp]
cmp dword [eax], ecx
je 0x49cd01
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x49cc60
mov dword [esp + 0x28], 0
mov eax, dword [edi + 0x2bc]
mov ebx, 1
test bl, al
je 0x49cd0d
mov ecx, edi
call fcn.004364a0
mov ecx, edi
call fcn.00421e40
fld dword [edi + 0x1e0]
call fcn.00577600
fld dword [edi + 0x1e4]
add eax, 9
mov dword [esp + 0x50], eax
call fcn.00577600
mov edx, dword [0x67fad4]
add eax, 0xf
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov eax, edx
test edx, edx
jne 0x49ccd5
mov eax, 0x6815d0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49ccd8
sub eax, esi
test edx, edx
jne 0x49ccea
mov edx, 0x6815d0
push 0xffffff00
push eax
push edx
lea esi, [esp + 0x5c]
xor eax, eax
call fcn.00422dc0
jmp 0x49cff1
mov ecx, dword [eax + 4]
mov dword [esp + 0x28], ecx
jmp 0x49cc77
movzx ecx, word [edi + 0x2c0]
cmp cx, bx
jne 0x49cd90
mov ecx, edi
call fcn.004364a0
mov ecx, edi
call fcn.00421e40
fld dword [edi + 0x1e0]
call fcn.00577600
fld dword [edi + 0x1e4]
add eax, 9
mov dword [esp + 0x40], eax
call fcn.00577600
mov edx, dword [0x68066c]
add eax, 0xf
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov eax, edx
test edx, edx
jne 0x49cd64
mov eax, 0x6815d0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49cd67
sub eax, esi
test edx, edx
jne 0x49cd79
mov edx, 0x6815d0
push 0xffffff00
push eax
push edx
lea esi, [esp + 0x4c]
xor eax, eax
call fcn.00422dc0
jmp 0x49cff1
cmp ecx, 6
jne 0x49ce68
mov ecx, edi
call fcn.004364a0
mov ecx, edi
call fcn.00421e40
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], vtable.cImage.0
mov esi, 0xb27
mov ecx, 0x67cb5c
mov dword [esp + 0xc0], eax
call fcn.0056e550
test eax, eax
je 0x49ce0c
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov edi, dword [eax]
mov dword [esp + 0x48], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x10]
lea ebx, [esp + 0x40]
lea esi, [esp + 0x90]
mov dword [esp + 0x40], edx
mov dword [esp + 0x4c], ecx
call fcn.0042a9c0
mov edi, dword [esp + 0x2c]
mov ebx, 1
fld1
push 0xffffffffffffffff
fst dword [esp + 0x14]
lea edx, [esp + 0x1c]
fstp dword [esp + 0x18]
push edx
fld dword [edi + 0x1e0]
push ecx
fadd qword [0x5991f0]
lea eax, [esp + 0x1c]
lea esi, [esp + 0x9c]
fstp dword [esp + 0x24]
fld dword [edi + 0x1e4]
fstp dword [esp + 0x28]
fldz
fstp dword [esp]
call fcn.00425d60
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0x90], vtable.cImageBase.0
jmp 0x49cff1
test eax, 0x1000
je 0x49cf65
mov ecx, edi
call fcn.0056ba60
call fcn.00401050
mov edx, dword [edi + 0x2a8]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [eax + 0x668]
push edx
mov eax, 2
call fcn.005394a0
fstp dword [esp + 0x10]
fldz
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x49cf00
fld1
movzx eax, word [edi + 0x20a]
fstp dword [esp + 0x20]
mov dword [esp + 0x10], eax
push 0xff000000
lea ecx, [esp + 0x1c]
fst dword [esp + 0x28]
push ecx
fld dword [edi + 0x1e0]
push ecx
fstp dword [esp + 0x24]
lea esi, [edi + 0x2d0]
fld1
lea eax, [esp + 0x2c]
fsubrp st(1)
fild dword [esp + 0x1c]
fmulp st(1)
fadd dword [edi + 0x1e4]
fstp dword [esp + 0x28]
fstp dword [esp]
call fcn.00425d60
jmp 0x49cf04
fstp st(0)
fstp st(0)
fld dword [edi + 0x1e0]
call fcn.00577600
fld dword [edi + 0x1e4]
add eax, 9
mov dword [esp + 0x80], eax
call fcn.00577600
add eax, 0xf
mov dword [esp + 0x84], eax
mov eax, dword [0x68066c]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
test eax, eax
jne 0x49cf4a
mov eax, 0x6815d0
push 0xffffff00
push 4
push eax
lea esi, [esp + 0x8c]
xor eax, eax
call fcn.00422dc0
jmp 0x49cff1
mov edx, dword [edi + 0x2a4]
push edx
call fcn.00503430
mov ecx, edi
test eax, eax
je 0x49cfec
call fcn.0056ba60
fld dword [edi + 0x1e0]
call fcn.00577600
fld dword [edi + 0x1e4]
add eax, 9
mov dword [esp + 0x30], eax
call fcn.00577600
add eax, 0xf
mov dword [esp + 0x34], eax
mov eax, dword [0x67fad4]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
test eax, eax
jne 0x49cfb6
mov eax, 0x6815d0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49cfc0
mov ecx, dword [0x680238]
sub eax, edx
test ecx, ecx
jne 0x49cfd8
mov ecx, 0x6815d0
push 0xffffff00
push eax
push ecx
lea esi, [esp + 0x3c]
xor eax, eax
call fcn.00422dc0
jmp 0x49cff1
call fcn.004239f0
cmp dword [edi + 0x2cc], ebx
jne 0x49d0a6
mov ecx, dword [edi + 0x1dc]
imul ecx, dword [edi + 0x1d8]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
mov esi, edx
mov edx, dword [edi + 0x254]
sub edx, dword [edi + 0x24c]
lea ebx, [edi + 0x24c]
mov dword [esp + 0x10], edx
mov eax, dword [edi + 0x258]
fild dword [esp + 0x10]
sub eax, dword [edi + 0x250]
shl esi, 0x18
mov dword [esp + 0x10], eax
fdiv dword [edi + 0x25c]
or esi, 0xffffff
cmp dword [edi + 0x248], 0
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
fdiv dword [edi + 0x260]
fstp dword [esp + 0x24]
je 0x49d0a1
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push eax
call edx
fldz
mov ecx, dword [eax]
push 0x1000
push 0
push esi
push ebx
lea edx, [edi + 0x1e0]
push edx
push ecx
fstp dword [esp]
lea edx, [esp + 0x38]
push edx
mov edx, dword [edi + 0x248]
push edx
push eax
mov eax, dword [ecx + 0x3c]
call eax
mov ebx, 1
mov eax, edi
call fcn.0049cb30
cmp eax, 0x102
je 0x49d0c6
mov eax, edi
call fcn.0049cb30
cmp eax, 0x103
jne 0x49d1a8
mov ecx, dword [edi + 0x2a8]
xor edx, edx
mov eax, ecx
div dword [0x67df24]
mov eax, dword [0x67df28]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x49d1a8
cmp dword [eax], ecx
je 0x49d0f6
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x49d0e6
jmp 0x49d1a8
cmp dword [eax + 4], 0
je 0x49d1a8
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], vtable.cImage.0
mov esi, 0xb02
mov ecx, 0x67cb5c
mov dword [esp + 0xc0], ebx
call fcn.0056e550
test eax, eax
je 0x49d162
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov edi, dword [eax]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x10]
lea ebx, [esp + 0x30]
lea esi, [esp + 0x90]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
call fcn.0042a9c0
mov edi, dword [esp + 0x2c]
fld1
push 0xffffffffffffffff
fst dword [esp + 0x1c]
lea eax, [esp + 0x24]
fstp dword [esp + 0x20]
push eax
fld dword [edi + 0x1e0]
push ecx
fstp dword [esp + 0x2c]
lea eax, [esp + 0x24]
fld dword [edi + 0x1e4]
lea esi, [esp + 0x9c]
fstp dword [esp + 0x30]
fldz
fstp dword [esp]
call fcn.00425d60
mov dword [esp + 0xc0], 0xffffffff
mov eax, edi
call fcn.0049cb30
cmp eax, 0x22b
jne 0x49d233
call fcn.00401050
lea esi, [eax + 0x668]
lea edx, [esp + 0x10]
call fcn.00539630
fstp dword [esp + 0x10]
fldz
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x49d22f
fld1
movzx ecx, word [edi + 0x20a]
fstp dword [esp + 0x18]
mov dword [esp + 0x10], ecx
push 0xff000000
lea edx, [esp + 0x24]
fst dword [esp + 0x20]
push edx
fld dword [edi + 0x1e0]
push ecx
fstp dword [esp + 0x2c]
lea esi, [edi + 0x2d0]
fld1
lea eax, [esp + 0x24]
fsubrp st(1)
fild dword [esp + 0x1c]
fmulp st(1)
fadd dword [edi + 0x1e4]
fstp dword [esp + 0x30]
fstp dword [esp]
call fcn.00425d60
jmp 0x49d233
fstp st(0)
fstp st(0)
cmp word [edi + 0x2c0], 3
jne 0x49d2cf
lea eax, [edi + 0x2f0]
mov esi, 0xcc
mov ecx, 0x67cb38
mov dword [esp + 0x10], eax
call fcn.0056e550
test eax, eax
je 0x49d28d
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov esi, dword [esp + 0x10]
mov edi, dword [eax]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x10]
lea ebx, [esp + 0x30]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
call fcn.0042a9c0
mov edi, dword [esp + 0x2c]
fld dword [0x598ef4]
mov esi, dword [esp + 0x10]
fst dword [esp + 0x18]
push 0xffffffffffffffff
fstp dword [esp + 0x20]
lea eax, [esp + 0x24]
fld dword [edi + 0x1e0]
push eax
fstp dword [esp + 0x28]
push ecx
fld dword [edi + 0x1e4]
lea eax, [esp + 0x24]
fadd qword [0x5991f0]
fstp dword [esp + 0x30]
fldz
fstp dword [esp]
call fcn.00425d60
mov eax, dword [esp + 0x28]
add eax, 4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49d2e0
mov esi, dword [esp + 0x28]
sub eax, edx
mov ebx, eax
cmp byte [esi + ebx + 2], 0x2b
jne 0x49d386
cmp dword [edi + 0x10], 0
je 0x49d30e
mov ecx, edi
call fcn.004364a0
mov ecx, edi
call fcn.00421e40
movsx ecx, byte [esi + ebx + 3]
push ecx
lea edx, [esp + 0x14]
push 0x58bab0
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
fld dword [edi + 0x1e0]
call fcn.00577600
fld dword [edi + 0x1e4]
mov dword [esp + 0x30], eax
call fcn.00577600
mov dword [esp + 0x34], eax
mov eax, 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x10]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49d360
sub eax, edx
push 0xffffff00
push eax
lea eax, [esp + 0x18]
push eax
lea esi, [esp + 0x3c]
mov eax, 0xa
call fcn.00422dc0
mov esi, dword [esp + 0x28]
cmp byte [esi + ebx + 1], 0x2b
jne 0x49d416
cmp dword [edi + 0x10], 0
je 0x49d3a5
mov ecx, edi
call fcn.004364a0
mov ecx, edi
call fcn.00421e40
push 0x58bab4
lea ecx, [esp + 0x14]
push 0x5865b0
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
fld dword [edi + 0x1e0]
add esp, 0xc
call fcn.00577600
fld dword [edi + 0x1e4]
mov dword [esp + 0x30], eax
call fcn.00577600
mov dword [esp + 0x34], eax
mov eax, 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x10]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49d3f0
sub eax, edx
push 0xffffff00
push eax
lea edx, [esp + 0x18]
push edx
lea esi, [esp + 0x3c]
mov eax, 0xa
call fcn.00422dc0
mov esi, dword [esp + 0x28]
cmp dword [edi + 0x2ae], 0
je 0x49d4d7
movzx eax, word [esi + 0x2a]
mov ecx, 0x800
cmp ax, cx
jbe 0x49d4d7
mov edx, 0x834
cmp ax, dx
ja 0x49d4d7
lea eax, [edi + 0x370]
mov esi, 0xadb
mov ecx, 0x67cb5c
mov dword [esp + 0x10], eax
call fcn.0056e550
test eax, eax
je 0x49d48f
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov esi, dword [esp + 0x10]
mov edi, dword [eax]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x10]
lea ebx, [esp + 0x30]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
call fcn.0042a9c0
mov edi, dword [esp + 0x2c]
fld1
mov esi, dword [esp + 0x10]
fst dword [esp + 0x18]
push 0xffffffffffffffff
fstp dword [esp + 0x20]
lea eax, [esp + 0x24]
fld dword [edi + 0x1e0]
push eax
fadd qword [0x5991f0]
push ecx
lea eax, [esp + 0x24]
fstp dword [esp + 0x2c]
fld dword [edi + 0x1e4]
fadd qword [0x5991e8]
fstp dword [esp + 0x30]
fldz
fstp dword [esp]
call fcn.00425d60
mov esi, dword [esp + 0x28]
cmp dword [edi + 0x2b2], 0
je 0x49d58e
movzx eax, word [esi + 0x2a]
mov ecx, 0x800
cmp ax, cx
jbe 0x49d58e
mov edx, 0x834
cmp ax, dx
ja 0x49d58e
lea eax, [edi + 0x370]
mov esi, 0xab7
mov ecx, 0x67cb5c
mov dword [esp + 0x10], eax
call fcn.0056e550
test eax, eax
je 0x49d550
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov esi, dword [esp + 0x10]
mov edi, dword [eax]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x10]
lea ebx, [esp + 0x30]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
call fcn.0042a9c0
mov edi, dword [esp + 0x2c]
fld1
mov esi, dword [esp + 0x10]
fst dword [esp + 0x18]
push 0xffffffffffffffff
fstp dword [esp + 0x20]
lea eax, [esp + 0x24]
fld dword [edi + 0x1e0]
push eax
fstp dword [esp + 0x28]
push ecx
fld dword [edi + 0x1e4]
lea eax, [esp + 0x24]
fadd qword [0x5991f0]
fstp dword [esp + 0x30]
fldz
fstp dword [esp]
call fcn.00425d60
mov eax, dword [edi + 0x2a8]
call fcn.004b0ac0
test eax, eax
je 0x49d710
mov ecx, dword [edi + 0x2ae]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
push 0x58bab8
push 0x69da94
call ebx
fld dword [edi + 0x1e0]
add esp, 0xc
call fcn.00577600
fld dword [edi + 0x1e4]
add eax, 0x1b
mov dword [esp + 0x60], eax
call fcn.00577600
add eax, 0x1d
mov dword [esp + 0x64], eax
mov eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov eax, 0x69da94
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49d5f6
sub eax, edx
mov edx, dword [edi + 0x1d8]
imul edx, dword [edi + 0x1dc]
mov ecx, eax
mov eax, 0x51eb851f
mul edx
shr edx, 5
shl edx, 0x18
or edx, dword [edi + 0x1d4]
lea esi, [esp + 0x60]
push edx
push ecx
push 0x69da94
xor eax, eax
call fcn.00422dc0
mov eax, edi
call fcn.0049cb30
cmp eax, 0x8001
jne 0x49d710
mov ecx, dword [edi + 0x2a8]
xor edx, edx
mov eax, ecx
div dword [0x67ddb8]
mov eax, dword [0x67ddbc]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x49d670
cmp dword [edx], ecx
je 0x49d734
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x49d661
xor edx, edx
movzx eax, word [edx + 0xc0]
test ax, ax
je 0x49d710
push eax
push str.Lv._d
push 0x69da90
call ebx
fld dword [edi + 0x1e0]
add esp, 0xc
call fcn.00577600
fld dword [edi + 0x1e4]
mov esi, 1
sub eax, esi
mov dword [esp + 0x70], eax
call fcn.00577600
sub eax, 2
mov dword [esp + 0x74], eax
mov eax, 0x69da90
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49d6d0
sub eax, edx
mov edx, dword [edi + 0x1d8]
imul edx, dword [edi + 0x1dc]
mov ecx, eax
mov eax, 0x51eb851f
mul edx
shr edx, 5
shl edx, 0x18
or edx, dword [edi + 0x1d4]
lea esi, [esp + 0x70]
push edx
push ecx
push 0x69da90
mov eax, 0xb
call fcn.00422dc0
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.005762ee
mov esp, ebp
pop ebp
ret
mov edx, dword [edx + 4]
jmp 0x49d672