Function at 0x429ea0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xe8
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov edx, dword [esi]
push 0
lea ecx, [edi + eax - 4]
push ecx
push edx
mov dword [esp + 0x28], 0xffffffff
mov word [esp + 0x54], 0x410
mov word [esp + 0x56], 0x45f3
call fcn.00487810
mov al, 0xff
mov byte [esp + 0x20], al
mov byte [esp + 0x21], al
mov byte [esp + 0x22], al
mov byte [esp + 0x23], al
mov eax, dword [esi]
push eax
push 4
lea ecx, [esp + 0x28]
push 1
push ecx
call fcn.00487020
add esp, 0x1c
push 0
lea edx, [esp + 0x18]
push edx
mov ecx, esi
call fcn.004084a0
add eax, edi
push eax
mov eax, dword [esi]
push eax
call fcn.00487810
mov ecx, dword [esi]
push ecx
push 2
mov al, 0xff
lea edx, [esp + 0x22]
push 1
push edx
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], al
call fcn.00487020
add esp, 0x1c
xor eax, eax
cmp word [esi + 4], 0x4949
jne 0x429f4c
mov ah, byte [esp + 0xf]
mov al, byte [esp + 0xe]
jmp 0x429f58
movzx cx, byte [esp + 0xf]
mov ah, byte [esp + 0xe]
or eax, ecx
movzx eax, ax
cmp eax, 0x64
jg 0x42ac54
test eax, eax
je 0x42ac54
jmp 0x429f72
mov eax, dword [esp + 0x78]
mov edx, dword [esi]
dec eax
push edx
mov dword [esp + 0x7c], eax
mov al, 0xff
push 2
mov byte [esp + 0x16], al
mov byte [esp + 0x17], al
lea eax, [esp + 0x16]
push 1
push eax
call fcn.00487020
add esp, 0x10
xor eax, eax
cmp word [esi + 4], 0x4949
jne 0x429fa9
mov ah, byte [esp + 0xf]
mov al, byte [esp + 0xe]
jmp 0x429fb5
movzx cx, byte [esp + 0xf]
mov ah, byte [esp + 0xe]
or eax, ecx
xor edx, edx
mov dx, ax
mov al, 0xff
mov byte [esp + 0x50], al
mov byte [esp + 0x51], al
mov byte [esp + 0x52], al
mov byte [esp + 0x53], al
mov eax, dword [esi]
push eax
push 4
lea ecx, [esp + 0x58]
push 1
push ecx
mov dword [esp + 0x50], edx
call fcn.00487020
add esp, 0x10
lea edx, [esp + 0x50]
push edx
mov ecx, esi
call fcn.004084a0
mov edi, eax
mov eax, dword [esi]
push eax
call fcn.00487c33
mov ecx, dword [esi]
push ecx
add eax, 4
push 4
mov dword [esp + 0x90], eax
mov al, 0xff
lea edx, [esp + 0x70]
push 1
push edx
mov byte [esp + 0x78], al
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], al
call fcn.00487020
add esp, 0x14
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.004084a0
mov ecx, dword [ebp + 8]
mov edx, dword [esi]
mov dword [esp + 0x20], eax
push 0
add eax, ecx
push eax
push edx
call fcn.00487810
mov eax, dword [esp + 0x4c]
sar eax, 8
add eax, 8
or eax, 8
add esp, 0xc
cmp eax, 0x38
jne 0x42a073
mov ecx, dword [esi]
push edi
push ecx
call fcn.00487c33
add esp, 4
push eax
mov ecx, esi
call fcn.00429ea0
mov eax, dword [esp + 0x40]
cmp eax, 0x810
jne 0x42a099
mov edx, dword [esi]
push edx
push 1
lea eax, [esi + 0x2d5]
push 0x40
push eax
call fcn.00487020
add esp, 0x10
jmp 0x42ac30
cmp eax, 0x80a
jne 0x42a0e5
mov ecx, dword [esi]
push ecx
push 1
lea edi, [esi + 0x215]
push 0x40
push edi
call fcn.00487020
mov edx, dword [esi]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push 1
add ecx, 0xffffffc0
push ecx
push edx
call fcn.00487810
mov eax, dword [esi]
push eax
push 1
lea ecx, [esi + 0x255]
push 0x40
push ecx
call fcn.00487020
add esp, 0x2c
jmp 0x42ac30
cmp eax, 0x1807
jne 0x42a13f
mov ecx, esi
call fcn.00410420
mov dword [esp + 0x10], eax
fld dword [esp + 0x10]
sub esp, 8
lea ecx, [esp + 0xc8]
fstp qword [esp]
call fcn.00410380
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
lea edx, [esi + 0x8618]
mov dword [edx], eax
mov eax, dword [esp + 0xc8]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xcc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
jmp 0x42ac30
cmp eax, 0x1810
jne 0x42a18f
mov edx, dword [esi]
push 1
push 0xc
push edx
call fcn.00487810
mov al, 0xff
mov byte [esp + 0x50], al
mov byte [esp + 0x51], al
mov byte [esp + 0x52], al
mov byte [esp + 0x53], al
mov eax, dword [esi]
push eax
push 4
lea ecx, [esp + 0x58]
push 1
push ecx
call fcn.00487020
add esp, 0x1c
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.004084a0
mov dword [esi + 0x450], eax
jmp 0x42ac30
cmp eax, 0x1835
jne 0x42a1d3
mov al, 0xff
mov byte [esp + 0x54], al
mov byte [esp + 0x55], al
mov byte [esp + 0x56], al
mov byte [esp + 0x57], al
mov eax, dword [esi]
push eax
push 4
lea ecx, [esp + 0x5c]
push 1
push ecx
call fcn.00487020
add esp, 0x10
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call fcn.004084a0
mov dword [esi + 0x37c], eax
jmp 0x42ac30
cmp eax, 0x2007
jne 0x42a1f6
mov eax, dword [esi]
push eax
call fcn.00487c33
add esp, 4
mov dword [esi + 0x344], eax
mov dword [esi + 0x350], edi
jmp 0x42ac30
cmp eax, 0x1818
jne 0x42a33f
mov ecx, dword [esi]
push ecx
mov al, 0xff
push 4
lea edx, [esp + 0x70]
push 1
push edx
mov byte [esp + 0x78], al
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], al
call fcn.00487020
mov al, 0xff
mov byte [esp + 0x70], al
mov byte [esp + 0x71], al
mov byte [esp + 0x72], al
mov byte [esp + 0x73], al
mov eax, dword [esi]
push eax
push 4
lea ecx, [esp + 0x78]
push 1
push ecx
call fcn.00487020
add esp, 0x20
lea edx, [esp + 0x60]
push edx
mov ecx, esi
call fcn.004084a0
fld qword [0x65c0b0]
mov dword [esp + 0x10], eax
fld dword [esp + 0x10]
fchs
call fcn.004879b0
mov eax, dword [esi + 0x8650]
mov ecx, 2
cmp eax, ecx
fstp qword [esp + 0xe0]
je 0x42a2bd
cmp eax, 1
jne 0x42a290
mov eax, dword [esi + 0x864c]
test eax, eax
jne 0x42a2bd
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [esi + 0x8648], eax
mov eax, dword [esp + 0xec]
mov dword [esi + 0x864c], edx
mov dword [esi + 0x8650], ecx
mov dword [esi + 0x8654], eax
mov ecx, dword [esi]
push ecx
mov al, 0xff
push 4
lea edx, [esp + 0x54]
push 1
push edx
mov byte [esp + 0x5c], al
mov byte [esp + 0x5d], al
mov byte [esp + 0x5e], al
mov byte [esp + 0x5f], al
call fcn.00487020
add esp, 0x10
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call fcn.004084a0
fld qword [0x65c0b0]
mov dword [esp + 0x10], eax
fld dword [esp + 0x10]
fmul qword [0x65c2f8]
call fcn.004879b0
fstp qword [esp + 0xd0]
mov edx, dword [esp + 0xd0]
lea ecx, [esi + 0x8658]
mov dword [ecx], edx
mov edx, dword [esp + 0xd4]
mov eax, 2
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xdc]
mov dword [ecx + 0xc], eax
jmp 0x42ac30
cmp eax, 0x102a
jne 0x42a621
mov ecx, dword [esi]
push ecx
mov al, 0xff
push 4
lea edx, [esp + 0x74]
push 1
push edx
mov byte [esp + 0x7c], al
mov byte [esp + 0x7d], al
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], al
call fcn.00487020
mov al, 0xff
mov byte [esp + 0x3e], al
mov byte [esp + 0x3f], al
mov eax, dword [esi]
push eax
push 2
lea ecx, [esp + 0x46]
push 1
push ecx
call fcn.00487020
fld dword [esi + 0x320]
fcomp dword [0x65c2f0]
add esp, 0x20
fnstsw ax
test ah, 0x44
jp 0x42a3f1
lea edx, [esp + 0x2e]
push edx
mov ecx, esi
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0x40000000
call fcn.004103a0
movzx eax, ax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [0x65c3dc]
fsub dword [0x65c3d8]
fld qword [esp + 0xb8]
fxch st(1)
call fcn.004879b0
fmul qword [0x65c3d0]
fstp dword [esi + 0x320]
mov ecx, dword [esi]
push ecx
push 2
mov al, 0xff
lea edx, [esp + 0x66]
push 1
push edx
mov byte [esp + 0x6e], al
mov byte [esp + 0x6f], al
call fcn.00487020
mov al, 0xff
mov byte [esp + 0x40], al
mov byte [esp + 0x41], al
mov eax, dword [esi]
push eax
push 2
lea ecx, [esp + 0x48]
push 1
push ecx
call fcn.00487020
add esp, 0x20
lea edx, [esp + 0x30]
push edx
mov ecx, esi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0x40000000
call fcn.004103a0
movsx eax, ax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [0x65c3c8]
fld qword [esp + 0x88]
fxch st(1)
call fcn.004879b0
fstp qword [esp + 0xa8]
mov edx, dword [esp + 0xa8]
lea ecx, [esi + 0x8658]
mov dword [ecx], edx
mov edx, dword [esp + 0xac]
mov dword [ecx + 4], edx
mov eax, 2
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [ecx + 0xc], eax
mov ecx, dword [esi]
push ecx
push 2
mov al, 0xff
lea edx, [esp + 0x3c]
push 1
push edx
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
call fcn.00487020
add esp, 0x10
lea eax, [esp + 0x34]
push eax
mov ecx, esi
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0x40000000
call fcn.004103a0
movsx ecx, ax
neg ecx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x65c3dc]
fld qword [esp + 0x90]
fxch st(1)
call fcn.004879b0
mov edx, dword [esi]
mov al, 0xff
push edx
mov edi, 2
push edi
fstp qword [esp + 0xa0]
mov byte [esp + 0x64], al
mov byte [esp + 0x65], al
push 1
lea eax, [esp + 0x68]
push eax
call fcn.00487020
mov ecx, dword [esi]
push ecx
push edi
mov al, 0xff
lea edx, [esp + 0x50]
push 1
push edx
mov byte [esp + 0x58], al
mov byte [esp + 0x59], al
call fcn.00487020
add esp, 0x20
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call fcn.004103a0
movzx eax, ax
cmp eax, 0x11
mov dword [esp + 0x1c], eax
jle 0x42a561
mov dword [esp + 0x1c], 0
mov ecx, dword [esi]
push 1
push 0x20
push ecx
call fcn.00487810
fld qword [esp + 0xa4]
fcomp qword [0x65c308]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x42a5cd
mov edx, dword [esi]
push edx
mov al, 0xff
push 2
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
lea eax, [esp + 0x44]
push 1
push eax
call fcn.00487020
add esp, 0x10
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.004103a0
mov edx, 1
mov edi, edx
mov edx, dword [esp + 0xb4]
movzx eax, ax
mov ecx, 0xa
mov dword [esp + 0xa4], edx
jmp 0x42a5db
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov edx, dword [esi + 0x8650]
cmp edx, 2
je 0x42ac30
cmp edx, 1
jne 0x42a5fd
mov edx, dword [esi + 0x864c]
test edx, edx
jne 0x42ac30
mov dword [esi + 0x8648], eax
mov eax, dword [esp + 0xa4]
mov dword [esi + 0x864c], ecx
mov dword [esi + 0x8650], edi
mov dword [esi + 0x8654], eax
jmp 0x42ac30
cmp eax, 0x102c
jne 0x42a722
mov ecx, dword [esi]
push ecx
push 2
mov al, 0xff
lea edx, [esp + 0x32]
push 1
push edx
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], al
call fcn.00487020
add esp, 0x10
lea eax, [esp + 0x2a]
push eax
mov ecx, esi
call fcn.004103a0
cmp ax, 0x200
mov ecx, dword [esi]
push 1
jbe 0x42a6be
push 0x76
push ecx
call fcn.00487810
add esp, 0xc
xor edi, edi
lea ecx, [ecx]
mov edx, dword [esi]
push edx
mov al, 0xff
push 2
mov byte [esp + 0x3e], al
mov byte [esp + 0x3f], al
lea eax, [esp + 0x3e]
push 1
push eax
call fcn.00487020
add esp, 0x10
lea ecx, [esp + 0x36]
push ecx
mov ecx, esi
call fcn.004103a0
xor edx, edx
mov dx, ax
mov eax, edi
xor eax, 2
inc edi
cmp edi, 4
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esi + eax*4 + 0x8578]
jl 0x42a670
jmp 0x42ac30
push 0x62
push ecx
call fcn.00487810
add esp, 0xc
xor edi, edi
nop
lea esp, [esp]
mov edx, dword [esi]
push edx
mov al, 0xff
push 2
mov byte [esp + 0x2e], al
mov byte [esp + 0x2f], al
lea eax, [esp + 0x2e]
push 1
push eax
call fcn.00487020
add esp, 0x10
lea ecx, [esp + 0x26]
push ecx
mov ecx, esi
call fcn.004103a0
xor edx, edx
mov dx, ax
mov eax, edi
xor eax, 2
sar eax, 1
xor eax, edi
inc edi
cmp edi, 4
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esi + eax*4 + 0x8578]
jl 0x42a6d0
jmp 0x42ac30
cmp eax, 0x32
jne 0x42a8c7
cmp edi, 0x300
jne 0x42a7ad
mov ecx, dword [esi]
push 1
push 0x48
push ecx
call fcn.00487810
add esp, 0xc
xor edi, edi
mov edx, dword [esi]
push edx
mov al, 0xff
push 2
mov byte [esp + 0x22], al
mov byte [esp + 0x23], al
lea eax, [esp + 0x22]
push 1
push eax
call fcn.00487020
add esp, 0x10
xor eax, eax
cmp word [esi + 4], 0x4949
jne 0x42a776
mov ah, byte [esp + 0x1b]
mov al, byte [esp + 0x1a]
jmp 0x42a782
movzx cx, byte [esp + 0x1b]
mov ah, byte [esp + 0x1a]
or eax, ecx
xor edx, edx
mov dx, ax
mov eax, edi
sar eax, 1
xor eax, edi
inc edi
cmp edi, 4
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdivr qword [0x65c3c0]
fstp dword [esi + eax*4 + 0x8578]
jl 0x42a744
jmp 0x42a8ac
fld dword [esi + 0x8578]
fcomp dword [0x65c2f0]
fnstsw ax
test ah, 0x44
jp 0x42ac30
mov ecx, dword [esi]
push ecx
push 2
mov al, 0xff
lea edx, [esp + 0x46]
push 1
push edx
mov byte [esp + 0x4e], al
mov byte [esp + 0x4f], al
call fcn.00487020
add esp, 0x10
lea eax, [esp + 0x3e]
push eax
mov ecx, esi
call fcn.004103a0
cmp ax, word [esp + 0x48]
jne 0x42a824
lea ecx, [esi + 0x255]
push str.Pro1
push ecx
call fcn.00488420
add esp, 8
test eax, eax
mov eax, str.012346000000000000
jne 0x42a817
mov eax, str.01345:000000006008
mov edx, dword [esp + 0x1c]
movsx eax, byte [eax + edx]
sub eax, 0x2e
jmp 0x42a83e
mov eax, dword [esp + 0x1c]
movsx eax, byte [eax + str.023457000000006000]
sub eax, 0x30
xor ecx, ecx
mov word [esp + 0x4a], cx
mov word [esp + 0x48], cx
mov edx, dword [esi]
push 1
lea ecx, [eax*8 + 0x4e]
push ecx
push edx
call fcn.00487810
add esp, 0xc
xor edi, edi
mov al, 0xff
mov byte [esp + 0x32], al
mov byte [esp + 0x33], al
mov eax, dword [esi]
push eax
push 2
lea ecx, [esp + 0x3a]
push 1
push ecx
call fcn.00487020
add esp, 0x10
lea edx, [esp + 0x32]
push edx
mov ecx, esi
call fcn.004103a0
mov ecx, edi
and ecx, 1
xor ax, word [esp + ecx*2 + 0x48]
xor edx, edx
mov dx, ax
mov eax, edi
xor eax, 2
sar eax, 1
xor eax, edi
inc edi
cmp edi, 4
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esi + eax*4 + 0x8578]
jl 0x42a855
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x42ac30
mov dword [esi + 0x8578], 0xbf800000
jmp 0x42ac30
cmp eax, 0x10a9
jne 0x42a94d
cmp edi, 0x42
jle 0x42a8e5
mov ecx, dword [esp + 0x1c]
movsx edx, byte [ecx + str.0134567028]
sub edx, 0x30
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
push 1
lea ecx, [eax*8 + 2]
push ecx
push edx
call fcn.00487810
add esp, 0xc
xor edi, edi
mov al, 0xff
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], al
mov eax, dword [esi]
push eax
push 2
lea ecx, [esp + 0x42]
push 1
push ecx
call fcn.00487020
add esp, 0x10
lea edx, [esp + 0x3a]
push edx
mov ecx, esi
call fcn.004103a0
movzx eax, ax
mov ecx, edi
sar ecx, 1
mov dword [esp + 0x10], eax
xor ecx, edi
inc edi
cmp edi, 4
fild dword [esp + 0x10]
fstp dword [esi + ecx*4 + 0x8578]
jl 0x42a900
jmp 0x42ac30
cmp eax, 0x1030
jne 0x42aa6b
mov ecx, dword [esp + 0x1c]
mov edx, 0x18040
sar edx, cl
test dl, 1
je 0x42ac30
xor edi, edi
mov ecx, esi
mov dword [esp + 0x70], edi
call fcn.004103d0
mov ecx, esi
call fcn.00410420
cmp eax, 0x80008
jne 0x42ac30
mov ecx, esi
call fcn.00410420
test eax, eax
je 0x42ac30
mov ecx, esi
call fcn.004103d0
movzx eax, ax
cmp eax, 0xa
mov dword [esp + 0x40], eax
mov ecx, eax
je 0x42a9b8
cmp ecx, 0xc
jne 0x42ac30
mov eax, 0x20
sub eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x7c], 0
lea eax, [esi + 0x48c]
mov dword [esp + 0x10], 8
lea esp, [esp]
mov dword [esp + 0x80], eax
mov dword [esp + 0x74], 8
nop
cmp edi, ecx
jge 0x42aa2f
mov ecx, esi
call fcn.004103d0
xor ecx, ecx
mov cx, ax
mov eax, dword [esp + 0x7c]
mov edx, eax
and edx, 1
movzx edx, word [edx*2 + 0x65db9c]
xor ecx, edx
mov edx, dword [esp + 0x70]
shl edx, 0x10
or ecx, edx
inc eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x70], ecx
add edi, 0x10
mov edx, dword [esp + 0x70]
mov ecx, 0x20
sub ecx, edi
shl edx, cl
mov ecx, dword [esp + 0x20]
add eax, 2
mov dword [esp + 0x80], eax
shr edx, cl
mov ecx, dword [esp + 0x40]
sub edi, ecx
mov word [eax - 2], dx
dec dword [esp + 0x74]
jne 0x42a9f0
dec dword [esp + 0x10]
jne 0x42a9e0
jmp 0x42ac30
cmp eax, 0x1031
jne 0x42aaf8
mov al, 0xff
mov byte [esp + 0x5a], al
mov byte [esp + 0x5b], al
mov eax, dword [esi]
push eax
push 2
lea ecx, [esp + 0x62]
push 1
push ecx
call fcn.00487020
mov edx, dword [esi]
push edx
mov al, 0xff
push 2
mov byte [esp + 0x40], al
mov byte [esp + 0x41], al
lea eax, [esp + 0x40]
push 1
push eax
call fcn.00487020
add esp, 0x20
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
call fcn.004103a0
mov edx, dword [esi]
push edx
mov word [esi + 0x43a], ax
mov al, 0xff
push 2
mov byte [esp + 0x34], al
mov byte [esp + 0x35], al
lea eax, [esp + 0x34]
push 1
push eax
call fcn.00487020
add esp, 0x10
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.004103a0
mov word [esi + 0x438], ax
jmp 0x42ac30
cmp eax, 0x5029
jne 0x42ab56
mov eax, edi
and edi, 0xffff
sub edi, 2
sar eax, 0x10
neg edi
sbb edi, edi
and edi, 0xffffffe1
lea edx, [esi + 0x8638]
mov dword [edx], eax
mov eax, dword [esp + 0xb4]
add edi, 0x20
mov dword [edx + 4], edi
mov ecx, 1
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x20]
and eax, 0xffff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul qword [0x65c3b8]
fstp dword [esi + 0x8668]
jmp 0x42ac30
cmp eax, 0x5813
jne 0x42ab6e
mov ecx, edi
mov dword [esp + 0x20], edi
mov dword [esi + 0x318], ecx
jmp 0x42ac30
cmp eax, 0x5814
jne 0x42ab86
mov edx, edi
mov dword [esp + 0x20], edi
mov dword [esi + 0x31c], edx
jmp 0x42ac30
cmp eax, 0x5817
jne 0x42ab98
mov dword [esi + 0x328], edi
jmp 0x42ac30
cmp eax, 0x5834
jne 0x42abaa
mov dword [esi + 0x338], edi
jmp 0x42ac30
cmp eax, 0x580e
jne 0x42abb9
mov dword [esi + 0x324], edi
jmp 0x42ac30
cmp eax, 0x180e
jne 0x42ac30
mov al, 0xff
mov byte [esp + 0x14], al
mov byte [esp + 0x15], al
mov byte [esp + 0x16], al
mov byte [esp + 0x17], al
mov eax, dword [esi]
push eax
push 4
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.00487020
movzx ecx, byte [esp + 0x25]
movzx edx, byte [esp + 0x26]
add esp, 0x10
cmp word [esi + 4], 0x4949
jne 0x42ac13
movzx eax, byte [esp + 0x17]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x14]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x42ac2a
xor eax, eax
mov ah, byte [esp + 0x14]
or eax, ecx
movzx ecx, byte [esp + 0x17]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esi + 0x324], eax
mov edx, dword [esp + 0x84]
mov eax, dword [esi]
push 0
push edx
push eax
call fcn.00487810
mov eax, dword [esp + 0x84]
add esp, 0xc
test eax, eax
jne 0x429f6e
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8