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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a36f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9c
push ebx
push esi
push edi
mov edi, ecx
call fcn.0049acbf
fild dword [ebp + 0x10]
mov eax, dword [eax + 4]
fdiv qword [edi + 0x80]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x30], eax
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42bb2e
fadd qword [0x4aa708]
call fcn.00470a50
mov ebx, eax
mov dword [esp + 0x64], ebx
jmp 0x42bb3f
fsub qword [0x4aa708]
call fcn.00470a50
mov dword [esp + 0x64], eax
mov ebx, eax
fild dword [ebp + 0xc]
fdiv qword [edi + 0x80]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42bb68
fadd qword [0x4aa708]
call fcn.00470a50
mov esi, eax
mov dword [esp + 0x34], esi
jmp 0x42bb79
fsub qword [0x4aa708]
call fcn.00470a50
mov dword [esp + 0x34], eax
mov esi, eax
lea ecx, [esp + 0x50]
call fcn.0048a2ae
mov eax, dword [ebp + 8]
mov dword [esp + 0xb0], 0
test eax, eax
jne 0x42bb98
xor eax, eax
jmp 0x42bb9e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
call dword [0x4a91e0]
push eax
lea ecx, [esp + 0x54]
call fcn.0048a365
push 8
lea ecx, [esp + 0x54]
call fcn.0048a4bd
mov edx, dword [edi + 0xfc]
lea ecx, [esp + 0x98]
push edx
mov dword [esp + 0xa4], eax
call fcn.0048af64
lea eax, [esp + 0x98]
lea ecx, [esp + 0x50]
push eax
mov byte [esp + 0xb4], 1
call fcn.0048a4f9
mov ecx, dword [edi + 0x94]
mov edx, dword [esp + 0x54]
push ecx
push edx
mov dword [esp + 0x9c], eax
call dword [0x4a91e4]
push 0xd
lea ecx, [esp + 0x54]
mov dword [esp + 0x94], eax
call fcn.0048a5ca
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x50]
push eax
mov ecx, edi
call fcn.00424aa0
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x564]
test eax, eax
jne 0x42c9e9
xor ecx, ecx
mov eax, vtable.CRgn.0
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x198]
mov byte [esp + 0xb0], 3
lea edx, [eax + ebx]
lea ecx, [eax + esi]
mov dword [esp + 0x30], edx
mov dword [esp + 0x3c], ecx
mov ecx, ebx
mov edx, esi
sub ecx, eax
sub edx, eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x40]
push eax
push ecx
push edx
call dword [0x4a91dc]
push eax
lea ecx, [esp + 0x6c]
call fcn.0048aea7
mov eax, dword [edi + 0x19c]
lea ecx, [eax + ebx]
lea edx, [eax + esi]
sub ebx, eax
push ecx
sub esi, eax
push edx
push ebx
push esi
call dword [0x4a91dc]
push eax
lea ecx, [esp + 0x74]
call fcn.0048aea7
mov esi, dword [esp + 0x74]
lea eax, [esp + 0x70]
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x68]
neg eax
sbb eax, eax
push 4
and eax, esi
neg ecx
sbb ecx, ecx
push eax
and ecx, edx
push ecx
push edx
call dword [0x4a91cc]
lea ecx, [esp + 0x70]
test ecx, ecx
je 0x42c271
mov eax, dword [esp + 0x74]
test eax, eax
je 0x42c271
mov eax, dword [edi + 0xf4]
test eax, eax
mov eax, dword [edi + 0x19c]
jne 0x42bd30
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x64]
mov ecx, edx
lea esi, [eax + edx]
mov edx, ebx
sub ecx, eax
sub edx, eax
add eax, ebx
push eax
push esi
push edx
mov edx, dword [esp + 0x60]
push ecx
push edx
call dword [0x4a9060]
jmp 0x42c271
test eax, eax
mov dword [esp + 0x18], eax
jl 0x42c271
mov eax, dword [edi + 0x19c]
test eax, eax
mov dword [esp + 0x28], eax
jl 0x42c262
mov ecx, eax
mov eax, dword [esp + 0x64]
lea edx, [ecx + eax]
sub eax, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], eax
mov ebx, eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x42bd77
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42c10e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x74]
push ebx
lea esi, [eax + ecx]
push esi
push edx
call dword [0x4a91d8]
test eax, eax
je 0x42bea0
mov eax, dword [esp + 0x54]
push ebx
push esi
push eax
call dword [0x4a91c0]
fld qword [0x4aa6f0]
fsub qword [edi + 0xd0]
fild dword [edi + 0xe8]
mov ecx, eax
xor edx, edx
and ecx, 0xff
mov dl, ah
fmul qword [edi + 0xd0]
mov dword [esp + 0x10], ecx
and edx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], edx
fmul st(2)
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42bdff
fadd qword [0x4aa708]
jmp 0x42be05
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov dword [esp + 0x2c], eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x24]
fmul st(2)
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42be37
fadd qword [0x4aa708]
jmp 0x42be3d
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x1c]
fmul st(2)
faddp st(1)
fstp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42be71
fadd qword [0x4aa708]
jmp 0x42be77
fsub qword [0x4aa708]
call fcn.00470a50
xor ecx, ecx
mov edx, dword [esp + 0x54]
mov ch, al
mov eax, dword [esp + 0x2c]
mov cl, byte [esp + 0x10]
and eax, 0xff
shl ecx, 8
or eax, ecx
push eax
push ebx
push esi
push edx
call dword [0x4a90fc]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42c10e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
push eax
push esi
push ecx
call dword [0x4a91d8]
test eax, eax
je 0x42bfd7
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
push edx
push esi
push eax
call dword [0x4a91c0]
fld qword [0x4aa6f0]
fsub qword [edi + 0xd0]
fild dword [edi + 0xe8]
mov ecx, eax
xor edx, edx
and ecx, 0xff
mov dl, ah
fmul qword [edi + 0xd0]
mov dword [esp + 0x10], ecx
and edx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], edx
fmul st(2)
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42bf31
fadd qword [0x4aa708]
jmp 0x42bf37
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov ebx, eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x24]
fmul st(2)
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42bf67
fadd qword [0x4aa708]
jmp 0x42bf6d
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x1c]
fmul st(2)
faddp st(1)
fstp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42bfa1
fadd qword [0x4aa708]
jmp 0x42bfa7
fsub qword [0x4aa708]
call fcn.00470a50
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov ch, al
and ebx, 0xff
mov cl, byte [esp + 0x10]
shl ecx, 8
or ecx, ebx
mov eax, ecx
push eax
mov eax, dword [esp + 0x58]
push edx
push esi
push eax
call dword [0x4a90fc]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42c243
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x74]
mov edx, eax
push ebx
sub esi, edx
push esi
push ecx
call dword [0x4a91d8]
test eax, eax
je 0x42c10e
mov edx, dword [esp + 0x54]
push ebx
push esi
push edx
call dword [0x4a91c0]
fld qword [0x4aa6f0]
fsub qword [edi + 0xd0]
fild dword [edi + 0xe8]
mov ecx, eax
xor edx, edx
and ecx, 0xff
mov dl, ah
fmul qword [edi + 0xd0]
mov dword [esp + 0x10], ecx
and edx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], edx
fmul st(2)
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c068
fadd qword [0x4aa708]
jmp 0x42c06e
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov ebx, eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x24]
fmul st(2)
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c09e
fadd qword [0x4aa708]
jmp 0x42c0a4
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x1c]
fmul st(2)
faddp st(1)
fstp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c0d8
fadd qword [0x4aa708]
jmp 0x42c0de
fsub qword [0x4aa708]
call fcn.00470a50
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov ch, al
and ebx, 0xff
mov cl, byte [esp + 0x10]
shl ecx, 8
or ecx, ebx
mov eax, ecx
push eax
mov eax, dword [esp + 0x58]
push edx
push esi
push eax
call dword [0x4a90fc]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x74]
sub esi, eax
push ecx
push esi
push edx
call dword [0x4a91d8]
test eax, eax
je 0x42c243
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
push eax
push esi
push ecx
call dword [0x4a91c0]
fld qword [0x4aa6f0]
fsub qword [edi + 0xd0]
fild dword [edi + 0xe8]
mov edx, eax
xor ecx, ecx
and edx, 0xff
mov cl, ah
fmul qword [edi + 0xd0]
mov dword [esp + 0x10], edx
and ecx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], ecx
fmul st(2)
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c19d
fadd qword [0x4aa708]
jmp 0x42c1a3
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov ebx, eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x24]
fmul st(2)
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c1d3
fadd qword [0x4aa708]
jmp 0x42c1d9
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [edi + 0xd0]
fild dword [esp + 0x1c]
fmul st(2)
faddp st(1)
fstp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c20d
fadd qword [0x4aa708]
jmp 0x42c213
fsub qword [0x4aa708]
call fcn.00470a50
xor edx, edx
and ebx, 0xff
mov dh, al
mov ecx, dword [esp + 0x54]
mov dl, byte [esp + 0x10]
shl edx, 8
or edx, ebx
mov eax, edx
push eax
mov eax, dword [esp + 0x18]
push eax
push esi
push ecx
call dword [0x4a90fc]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
dec eax
inc ebx
dec edx
mov dword [esp + 0x28], eax
test eax, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], edx
jge 0x42bd63
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jns 0x42bd3c
mov eax, dword [edi + 0x198]
mov esi, dword [edi + 0x19c]
mov edx, eax
mov dword [esp + 0x18], eax
sub edx, esi
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
test eax, eax
fstp qword [esp + 0x84]
jl 0x42c859
mov ebx, dword [esp + 0x64]
mov esi, dword [edi + 0x198]
test esi, esi
mov dword [esp + 0x20], esi
jl 0x42c84e
imul eax, eax
lea ecx, [esi + ebx]
sub ebx, esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ebx
jmp 0x42c2cc
mov eax, dword [esp + 0x30]
mov edx, esi
imul edx, esi
add edx, eax
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
fsqrt
fst qword [esp + 0x44]
fcomp qword [0x4aa6f8]
fld qword [esp + 0x44]
fnstsw ax
test ah, 1
jne 0x42c2fa
fadd qword [0x4aa708]
jmp 0x42c300
fsub qword [0x4aa708]
call fcn.00470a50
cmp eax, dword [edi + 0x198]
jg 0x42c82b
fld qword [edi + 0xe0]
fcomp qword [0x4aa6f8]
fnstsw ax
test ah, 0x40
jne 0x42c35b
fild dword [edi + 0x19c]
fsubr qword [esp + 0x44]
fdiv qword [esp + 0x84]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
je 0x42c34c
fstp st(0)
fld qword [0x4aa6f8]
jmp 0x42c361
fcom qword [0x4aa6f0]
fnstsw ax
test ah, 0x41
jne 0x42c361
fstp st(0)
fld qword [0x4aa6f0]
fld qword [0x4aa6f0]
fsub st(1)
mov eax, dword [esp + 0x18]
test eax, eax
fmul qword [edi + 0xd0]
fstp qword [esp + 0x44]
fstp st(0)
fld qword [0x4aa6f0]
fsub qword [esp + 0x44]
fstp qword [esp + 0x3c]
jne 0x42c393
test esi, esi
je 0x42c700
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x6c]
push ebx
lea esi, [eax + ecx]
push esi
push edx
call dword [0x4a91d8]
test eax, eax
je 0x42c4ae
mov eax, dword [esp + 0x54]
push ebx
push esi
push eax
call dword [0x4a91c0]
fild dword [edi + 0xe8]
mov ecx, eax
xor edx, edx
and ecx, 0xff
mov dl, ah
fmul qword [esp + 0x44]
mov dword [esp + 0x10], ecx
and edx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], edx
fmul qword [esp + 0x3c]
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c40f
fadd qword [0x4aa708]
jmp 0x42c415
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov dword [esp + 0x2c], eax
fmul qword [esp + 0x44]
fild dword [esp + 0x24]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c447
fadd qword [0x4aa708]
jmp 0x42c44d
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [esp + 0x44]
fild dword [esp + 0x1c]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c47f
fadd qword [0x4aa708]
jmp 0x42c485
fsub qword [0x4aa708]
call fcn.00470a50
xor ecx, ecx
mov edx, dword [esp + 0x54]
mov ch, al
mov eax, dword [esp + 0x2c]
mov cl, byte [esp + 0x10]
and eax, 0xff
shl ecx, 8
or eax, ecx
push eax
push ebx
push esi
push edx
call dword [0x4a90fc]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x42c700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x6c]
push eax
push esi
push ecx
call dword [0x4a91d8]
test eax, eax
je 0x42c5d7
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
push edx
push esi
push eax
call dword [0x4a91c0]
fild dword [edi + 0xe8]
mov ecx, eax
xor edx, edx
and ecx, 0xff
mov dl, ah
fmul qword [esp + 0x44]
mov dword [esp + 0x10], ecx
and edx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], edx
fmul qword [esp + 0x3c]
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c533
fadd qword [0x4aa708]
jmp 0x42c539
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov ebx, eax
fmul qword [esp + 0x44]
fild dword [esp + 0x24]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c569
fadd qword [0x4aa708]
jmp 0x42c56f
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [esp + 0x44]
fild dword [esp + 0x1c]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c5a1
fadd qword [0x4aa708]
jmp 0x42c5a7
fsub qword [0x4aa708]
call fcn.00470a50
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov ch, al
and ebx, 0xff
mov cl, byte [esp + 0x10]
shl ecx, 8
or ecx, ebx
mov eax, ecx
push eax
mov eax, dword [esp + 0x58]
push edx
push esi
push eax
call dword [0x4a90fc]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42c827
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x6c]
mov edx, eax
push ebx
sub esi, edx
push esi
push ecx
call dword [0x4a91d8]
test eax, eax
je 0x42c700
mov edx, dword [esp + 0x54]
push ebx
push esi
push edx
call dword [0x4a91c0]
fild dword [edi + 0xe8]
mov ecx, eax
xor edx, edx
and ecx, 0xff
mov dl, ah
fmul qword [esp + 0x44]
mov dword [esp + 0x10], ecx
and edx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], edx
fmul qword [esp + 0x3c]
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c65c
fadd qword [0x4aa708]
jmp 0x42c662
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov ebx, eax
fmul qword [esp + 0x44]
fild dword [esp + 0x24]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c692
fadd qword [0x4aa708]
jmp 0x42c698
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [esp + 0x44]
fild dword [esp + 0x1c]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c6ca
fadd qword [0x4aa708]
jmp 0x42c6d0
fsub qword [0x4aa708]
call fcn.00470a50
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov ch, al
and ebx, 0xff
mov cl, byte [esp + 0x10]
shl ecx, 8
or ecx, ebx
mov eax, ecx
push eax
mov eax, dword [esp + 0x58]
push edx
push esi
push eax
call dword [0x4a90fc]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
sub esi, eax
push ecx
push esi
push edx
call dword [0x4a91d8]
test eax, eax
je 0x42c827
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
push eax
push esi
push ecx
call dword [0x4a91c0]
fild dword [edi + 0xe8]
mov edx, eax
xor ecx, ecx
and edx, 0xff
mov cl, ah
fmul qword [esp + 0x44]
mov dword [esp + 0x10], edx
and ecx, 0xff
fild dword [esp + 0x10]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x24], ecx
fmul qword [esp + 0x3c]
mov dword [esp + 0x1c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c783
fadd qword [0x4aa708]
jmp 0x42c789
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xec]
mov ebx, eax
fmul qword [esp + 0x44]
fild dword [esp + 0x24]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c7b9
fadd qword [0x4aa708]
jmp 0x42c7bf
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [edi + 0xf0]
mov dword [esp + 0x10], eax
fmul qword [esp + 0x44]
fild dword [esp + 0x1c]
fmul qword [esp + 0x3c]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42c7f1
fadd qword [0x4aa708]
jmp 0x42c7f7
fsub qword [0x4aa708]
call fcn.00470a50
xor edx, edx
and ebx, 0xff
mov dh, al
mov ecx, dword [esp + 0x54]
mov dl, byte [esp + 0x10]
shl edx, 8
or edx, ebx
mov eax, edx
push eax
mov eax, dword [esp + 0x18]
push eax
push esi
push ecx
call dword [0x4a90fc]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
dec esi
inc ebx
dec ecx
test esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], ecx
jge 0x42c2c8
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jns 0x42c2a0
lea ecx, [esp + 0x68]
call fcn.0048aefe
lea ecx, [esp + 0x70]
call fcn.0048aefe
mov esi, dword [edi + 0x198]
mov dword [esp + 0x2c], esi
fild dword [esp + 0x2c]
fld st(0)
fadd st(0), st(0)
fcom qword [0x4aa6f8]
fld st(0)
fnstsw ax
test ah, 1
jne 0x42c894
fadd qword [0x4aa708]
jmp 0x42c89a
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov ebx, eax
fnstsw ax
test ah, 1
jne 0x42c8b6
fadd qword [0x4aa708]
jmp 0x42c8bc
fsub qword [0x4aa708]
call fcn.00470a50
fmul qword [edi + 0x80]
mov dword [esp + 0x38], eax
fld st(0)
fadd st(0), st(0)
fcom qword [0x4aa6f8]
fld st(0)
fnstsw ax
test ah, 1
jne 0x42c8e6
fadd qword [0x4aa708]
jmp 0x42c8ec
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov dword [esp + 0x60], eax
fnstsw ax
test ah, 1
jne 0x42c90a
fadd qword [0x4aa708]
jmp 0x42c910
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov dword [esp + 0x78], eax
fld st(0)
fnstsw ax
test ah, 1
jne 0x42c930
fadd qword [0x4aa708]
jmp 0x42c936
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov edi, eax
fnstsw ax
test ah, 1
jne 0x42c952
fadd qword [0x4aa708]
jmp 0x42c958
fsub qword [0x4aa708]
call fcn.00470a50
mov ecx, dword [esp + 0x64]
push 0xcc0020
sub ecx, esi
push ebx
mov edx, ecx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
sub ecx, esi
mov esi, ecx
lea ecx, [esp + 0x58]
neg ecx
sbb ecx, ecx
push ebx
and ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x70]
push esi
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [ebp + 0x10]
sub edx, edi
push ecx
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [ebp + 8]
sub ecx, eax
push ecx
mov eax, dword [edx + 4]
push eax
call dword [0x4a91c4]
mov esi, vtable.CGdiObject.0
mov dword [esp + 0x70], esi
lea ecx, [esp + 0x70]
mov byte [esp + 0xb0], 4
call fcn.0048aefe
mov dword [esp + 0x68], esi
lea ecx, [esp + 0x68]
mov byte [esp + 0xb0], 5
call fcn.0048aefe
mov byte [esp + 0xb0], 1
jmp 0x42cfa7
cmp eax, 1
jne 0x42ca35
fild dword [edi + 0x198]
fmul qword [edi + 0x80]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42ca0f
fadd qword [0x4aa708]
jmp 0x42ca15
fsub qword [0x4aa708]
call fcn.00470a50
mov ecx, dword [edi + 0x100]
lea edx, [esp + 0x50]
push ecx
push eax
push ebx
push esi
push edx
mov ecx, edi
call fcn.0042dba0
jmp 0x42ce60
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], vtable.CRgn.0
add eax, 0xfffffffe
mov byte [esp + 0xb0], 6
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0xfc]
mov ecx, eax
mov dword [esp + 0x70], eax
and ecx, 0xff
mov dword [esp + 0x68], ecx
xor ecx, ecx
mov cl, ah
shr eax, 0x10
and eax, 0xff
and ecx, 0xff
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x198]
mov dword [esp + 0x3c], ecx
lea edx, [eax + ebx]
lea ecx, [eax + esi]
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], ecx
mov ecx, ebx
mov edx, esi
sub ecx, eax
sub edx, eax
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x64]
push eax
push ecx
push edx
call dword [0x4a91dc]
push eax
lea ecx, [esp + 0x80]
call fcn.0048aea7
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x42cae1
xor edx, edx
mov eax, 4
mov dword [0x4c8870], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
jmp 0x42cb47
mov eax, dword [esp + 0x24]
cmp eax, 1
jne 0x42cb08
mov edx, eax
mov eax, dword [0x4c8870]
sub edx, eax
mov eax, 5
mov dword [0x4c8870], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
jmp 0x42cb47
mov ecx, 2
xor edx, edx
cmp eax, ecx
mov dword [0x4c8870], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
jne 0x42cb2b
mov dword [esp + 0x10], 0x2710
jmp 0x42cb47
cmp eax, 3
jne 0x42cb3a
mov dword [esp + 0x10], 0x1388
jmp 0x42cb47
cmp eax, 4
jne 0x42cb47
mov dword [esp + 0x10], 0x3e8
lea eax, [edi + 0x144]
test eax, eax
je 0x42cb85
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x42cb85
test eax, eax
jne 0x42cb60
xor edx, edx
jmp 0x42cb63
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x7c]
neg eax
sbb eax, eax
push 1
and eax, ecx
push edx
push eax
push ecx
call dword [0x4a91cc]
mov edx, dword [0x4c8870]
fild dword [edi + 0xf4]
mov eax, dword [edi + 0x198]
mov ecx, esi
sub ecx, eax
fmul qword [0x4abdd0]
add ecx, edx
lea edx, [eax + esi]
cmp ecx, edx
mov dword [esp + 0x18], ecx
fstp qword [esp + 0x84]
jg 0x42ce36
mov edx, dword [esp + 0x28]
imul ecx, edx
mov dword [esp + 0x38], ecx
mov ecx, edx
imul ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov edx, dword [0x4c8870]
mov esi, ebx
sub esi, eax
add eax, ebx
add esi, edx
cmp esi, eax
jg 0x42ce02
mov eax, esi
imul eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [0x4c4564]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x80]
push esi
not eax
xor eax, ecx
mov ecx, dword [esp + 0x1c]
push ecx
push edx
mov dword [0x4c4564], eax
call dword [0x4a91d8]
test eax, eax
je 0x42cdde
mov ecx, dword [0x4c4564]
mov eax, dword [esp + 0x24]
xor ecx, 0x5555
cmp eax, 1
mov dword [0x4c4564], ecx
jle 0x42cc42
call fcn.0047156f
cmp eax, dword [esp + 0x10]
jg 0x42cdde
mov eax, dword [edi + 0xf4]
test eax, eax
jne 0x42cc67
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
push eax
push esi
push ecx
push edx
call dword [0x4a90fc]
jmp 0x42cdde
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
push esi
push eax
push ecx
call dword [0x4a91c0]
fld qword [0x4aa6f0]
fsub qword [esp + 0x84]
fild dword [esp + 0x68]
mov ebx, eax
xor edx, edx
and ebx, 0xff
mov dl, ah
mov dword [esp + 0x20], ebx
and edx, 0xff
fmul st(1)
fild dword [esp + 0x20]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x78], edx
fmul qword [esp + 0x84]
mov dword [esp + 0x2c], eax
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42ccd3
fadd qword [0x4aa708]
jmp 0x42ccd9
fsub qword [0x4aa708]
call fcn.00470a50
fild dword [esp + 0x3c]
mov dword [esp + 0x14], eax
fmul st(1)
fild dword [esp + 0x78]
fmul qword [esp + 0x84]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42cd0a
fadd qword [0x4aa708]
jmp 0x42cd10
fsub qword [0x4aa708]
call fcn.00470a50
fimul dword [esp + 0x30]
mov dword [esp + 0x20], eax
fild dword [esp + 0x2c]
fmul qword [esp + 0x84]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x42cd3f
fadd qword [0x4aa708]
jmp 0x42cd45
fsub qword [0x4aa708]
call fcn.00470a50
mov ecx, dword [esp + 0x68]
cmp ebx, ecx
jg 0x42cd54
mov ebx, ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jg 0x42cd66
mov ecx, edx
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x30]
cmp dword [esp + 0x2c], edx
jg 0x42cd76
mov dword [esp + 0x2c], edx
jmp 0x42cd7a
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x14], ebx
jle 0x42cd84
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x20], ecx
jle 0x42cd8e
mov dword [esp + 0x20], ecx
cmp eax, edx
jle 0x42cd94
mov eax, edx
mov edx, dword [esp + 0x14]
xor ecx, ecx
cmp edx, ecx
jge 0x42cda2
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x20], ecx
jge 0x42cdac
mov dword [esp + 0x20], ecx
cmp eax, ecx
jge 0x42cdb2
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x18]
mov ch, al
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x20]
and eax, 0xff
shl ecx, 8
or eax, ecx
push eax
mov eax, dword [esp + 0x58]
push esi
push edx
push eax
call dword [0x4a90fc]
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x28]
add edx, ecx
mov dword [esp + 0x60], edx
mov edx, dword [edi + 0x198]
add esi, eax
add edx, ebx
cmp esi, edx
jle 0x42cbea
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add edx, eax
mov eax, dword [edi + 0x198]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x34]
add ecx, esi
add edx, eax
cmp ecx, edx
mov dword [esp + 0x18], ecx
jle 0x42cbc9
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x7c]
call fcn.0048aefe
mov dword [esp + 0x7c], vtable.CGdiObject.0
lea ecx, [esp + 0x7c]
mov byte [esp + 0xb0], 7
call fcn.0048aefe
mov byte [esp + 0xb0], 1
mov eax, dword [edi + 0x198]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fld st(0)
fadd st(0), st(0)
fcom qword [0x4aa6f8]
fld st(0)
fnstsw ax
test ah, 1
jne 0x42ce89
fadd qword [0x4aa708]
jmp 0x42ce8f
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov dword [esp + 0x30], eax
fnstsw ax
test ah, 1
jne 0x42cead
fadd qword [0x4aa708]
jmp 0x42ceb3
fsub qword [0x4aa708]
call fcn.00470a50
fmul qword [edi + 0x80]
mov dword [esp + 0x3c], eax
fld st(0)
fadd st(0), st(0)
fcom qword [0x4aa6f8]
fld st(0)
fnstsw ax
test ah, 1
jne 0x42cedd
fadd qword [0x4aa708]
jmp 0x42cee3
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov dword [esp + 0x68], eax
fnstsw ax
test ah, 1
jne 0x42cf01
fadd qword [0x4aa708]
jmp 0x42cf07
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov dword [esp + 0x38], eax
fld st(0)
fnstsw ax
test ah, 1
jne 0x42cf27
fadd qword [0x4aa708]
jmp 0x42cf2d
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov edi, eax
fnstsw ax
test ah, 1
jne 0x42cf49
fadd qword [0x4aa708]
jmp 0x42cf4f
fsub qword [0x4aa708]
call fcn.00470a50
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
sub ebx, ecx
sub esi, ecx
lea ecx, [esp + 0x50]
push 0xcc0020
neg ecx
sbb ecx, ecx
and ecx, edx
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push ebx
push esi
push ecx
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0xc]
sub edx, eax
mov eax, dword [ebp + 8]
sub ecx, edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [0x4a91c4]
mov esi, vtable.CGdiObject.0
push 0
lea ecx, [esp + 0x54]
call fcn.0048a8bf
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x54]
push edx
push eax
call dword [0x4a91e4]
mov ecx, dword [esp + 0xa0]
push ecx
lea ecx, [esp + 0x54]
call fcn.0048a4f9
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x50]
push edx
call fcn.0048a4f9
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0x50]
push eax
call fcn.0048a5ca
lea ecx, [esp + 0x50]
call fcn.0048a3cd
mov dword [esp + 0x98], esi
lea ecx, [esp + 0x98]
mov byte [esp + 0xb0], 8
call fcn.0048aefe
lea ecx, [esp + 0x50]
mov dword [esp + 0xb0], 0xffffffff
call fcn.0048a3e3
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc