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

Disassembly:
mov ecx, dword [0x5b9f40]
sub esp, 0x58
mov eax, dword [0x447b98]
push ebp
push edi
push 0x258
xor ebp, ebp
push 0x320
push ebp
push ebp
push ecx
push ebp
push ebp
lea edi, [eax + 0x160]
call fcn.0042e240
mov eax, dword [0x447b98]
add esp, 0x1c
cmp eax, 0x44ec18
je 0x416114
test byte [eax + 0xac], 1
je 0x415f7a
mov edx, dword [0x484adc]
push 0x190
and edx, 0xff
push 0x140
push ebp
push ebp
mov eax, dword [edx*4 + 0x486f6c]
push eax
push 0xc8
push 0x1c2
call fcn.0042e240
add esp, 0x1c
mov ecx, dword [0x447b98]
test byte [ecx + 0xac], 4
je 0x415f8e
call fcn.00412f40
mov edx, dword [0x447b98]
test byte [edx + 0xac], 8
je 0x415fa2
call fcn.00413230
mov eax, dword [0x447b98]
test byte [eax + 0xac], 0x10
je 0x415fd0
push 0xffffffffffffffff
push 4
push 0x445058
push 0x21c
push 0x190
push 0x593fe0
call fcn.004095c0
add esp, 0x18
mov ecx, dword [0x447b98]
test byte [ecx + 0xac], 0x20
jne 0x415ff5
call fcn.0040ee20
push 2
call fcn.0042bc90
add esp, 4
call fcn.00421250
jmp 0x41604b
mov al, byte [0x447b9c]
test al, al
jne 0x41604b
push 0xc0000000
push 0xc0000000
push 0xc0000000
push 0xc0000000
push 1
push 0x43a50000
push 0x44160000
push 0x43480000
push 0x42a00000
call fcn.0040b1c0
push 0xffffffffffffffff
push 0x43a50000
push 0x44160000
push 0x43480000
push 0x42a00000
call fcn.0040a890
add esp, 0x38
mov edx, dword [0x447b98]
test byte [edx + 0xac], 0x40
jne 0x4160ed
call fcn.004140e0
push ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebp
push 2
push 0x40000000
push 0x43960000
push 0x43340000
push 0x42c80000
call fcn.0040b1c0
push 0xffffffffffffffff
push ebp
push ebp
push 0xffffffffffffffff
push 2
push 0x40000000
push 0x43960000
push 0x43340000
push 0x43c80000
call fcn.0040b1c0
add esp, 0x48
push ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebp
push 2
push 0x40000000
push 0x43960000
push 0x4405c000
push 0x42c80000
call fcn.0040b1c0
push 0xffffffffffffffff
push ebp
push ebp
push 0xffffffffffffffff
push 2
push 0x40000000
push 0x43960000
push 0x4405c000
push 0x43c80000
call fcn.0040b1c0
add esp, 0x48
mov eax, dword [0x447b98]
push 0xff8060ff
push 4
push 0x442058
push 0x82
add eax, 3
push 0x190
push eax
call fcn.00409d80
add esp, 0x18
mov eax, dword [0x447b98]
cmp byte [eax + 0xb2], 1
je 0x41619b
push 0xff8060ff
push 1
push 0x443858
push 0x22b
add eax, 0xb3
push 0x78
push eax
call fcn.004095c0
mov eax, dword [0x486b18]
add esp, 0x18
cmp eax, ebp
je 0x4161a8
lea ecx, [eax + eax*2]
mov edx, eax
shl ecx, 0xd
shl edx, 0x17
and ecx, 0xff0000
and edx, 0xff0000ff
or ecx, edx
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, dword [0x447b98]
or ecx, edx
add eax, 0xb3
shr ecx, 8
or ecx, 0xff000000
push ecx
push 1
push 0x443858
push 0x22b
push 0x78
push eax
call fcn.00409d80
add esp, 0x18
jmp 0x4161a8
mov al, byte [0x447b9c]
test al, al
jne 0x419dfa
mov ecx, dword [0x447b98]
xor eax, eax
push ebx
push esi
mov al, byte [ecx + 1]
dec eax
cmp eax, 0xb
ja case.default.0x4161bf
jmp dword [eax*4 + 0x419e00]
mov al, byte [edi + 1]
mov esi, 0xdc
test al, al
mov ebx, 2
je case.default.0x4161bf
add edi, 0x23
jmp 0x4161e2
xor ebp, ebp
mov al, byte [edi - 0x21]
cmp al, 0xa
jne 0x416254
mov eax, dword [edi + 0x89]
push 0xffffffffffffffff
cmp eax, ebp
push 2
je 0x416225
mov edx, dword [0x570d94]
mov eax, esi
and eax, 0xffff
push edx
mov dword [esp + 0x58], eax
push 0x47a1a8
fild dword [esp + 0x5c]
push ecx
fstp dword [esp]
push 0x43200000
call fcn.0040b060
jmp 0x4162fa
mov ecx, dword [0x570d94]
mov edx, esi
and edx, 0xffff
push ecx
mov dword [esp + 0x58], edx
push 0x47a128
fild dword [esp + 0x5c]
push ecx
fstp dword [esp]
push 0x43200000
call fcn.0040b060
jmp 0x4162fa
cmp al, 2
jne 0x41626f
push 0xffffffffffffffff
push 1
push 0x443858
push esi
push 0x64
push edi
call fcn.004095c0
jmp 0x4162fa
mov cl, byte [edi - 0x20]
lea ebp, [edi - 0x20]
test cl, cl
je 0x4162fd
cmp al, 1
jne 0x416298
push 0xff403080
push 1
push 0x443858
push esi
push 0x78
push ebp
call fcn.004095c0
jmp 0x4162fa
push 0xff8060ff
push 1
push 0x443858
push esi
push 0x78
push ebp
call fcn.004095c0
movsx eax, bx
add esp, 0x18
mov eax, dword [eax*4 + 0x486b14]
test eax, eax
je 0x4162fd
lea ecx, [eax + eax*2]
mov edx, eax
shl ecx, 0xd
shl edx, 0x17
and ecx, 0xff0000
and edx, 0xff0000ff
or ecx, edx
mov edx, eax
shl edx, 8
sub edx, eax
or ecx, edx
shr ecx, 8
or ecx, 0xff000000
push ecx
push 1
push 0x443858
push esi
push 0x78
push ebp
call fcn.00409d80
add esp, 0x18
test edi, edi
je case.0x41634e.2
mov al, byte [0x4860d8]
test al, al
je 0x416320
movzx ax, byte [0x4861dc]
cmp ax, bx
mov byte [esp + 0x20], 1
je 0x416325
mov byte [esp + 0x20], 0
mov cl, byte [edi - 0x21]
mov dl, cl
dec dl
neg dl
sbb edx, edx
and ecx, 0xff
and edx, 0x7f7f7f
add edx, 0xff808080
dec ecx
cmp ecx, 0xa
mov eax, edx
ja case.0x41634e.2
jmp dword [ecx*4 + 0x419e30]
push eax
push 1
lea eax, [esi + 5]
push 0x445058
push eax
push 0x1a4
push edi
call fcn.004095c0
add esp, 0x18
jmp case.0x41634e.2
push eax
push 1
lea ecx, [esi + 5]
push 0x445058
push ecx
push 0xb9
push edi
call fcn.004095c0
add esp, 0x18
jmp case.0x41634e.2
push eax
push 1
lea edx, [esi + 5]
push 0x445058
push edx
push 0x1a4
push edi
call fcn.004095c0
add esp, 0x18
jmp case.0x41634e.2
push eax
push 1
push 0x443858
push esi
push 0x1a4
push edi
call fcn.004095c0
add esp, 0x18
jmp case.0x41634e.2
mov eax, dword [esp + 0x20]
push eax
push 0x78
jmp 0x4163f3
mov ecx, dword [esp + 0x20]
push ecx
push 0xf0
jmp 0x4163f3
mov edx, dword [esp + 0x20]
push edx
push 0x78
jmp 0x4163f3
mov eax, dword [esp + 0x20]
push eax
push 0x28
jmp 0x4163f3
mov ecx, dword [esp + 0x20]
push ecx
push 0x50
push esi
push 0x1a4
push edi
call fcn.00419ea0
add esp, 0x14
mov al, byte [edi + 0x8e]
add edi, 0xb0
add esi, 0x19
inc ebx
test al, al
jne 0x4161e0
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
mov eax, dword [0x484adc]
and eax, 0xff
lea ecx, [eax + eax*4]
mov bl, byte [eax + 0x447310]
mov byte [esp + 0x4c], bl
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea edx, [ecx + ecx*4]
shl edx, 1
sub edx, eax
lea eax, [edx*8 + 0x456cb0]
push eax
push 0x5d3160
push 0x4861f0
call fcn.00433bbe
push 0xff8060ff
push 4
push 0x442058
push 0x78
push 0x190
push 0x4861f0
call fcn.00409d80
mov eax, dword [0x484adc]
and eax, 0xff
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*8]
shl edx, 0xa
add edx, 0x487568
push edx
push 0x5d31e0
push 0x4861f0
call fcn.00433bbe
push 0xffffffffffffffff
push 4
push 0x443858
push 0xa5
push 0x190
push 0x4861f0
call fcn.004095c0
add esp, 0x48
push 0xa0000000
push 0xa0000000
push 0xa0000000
push 0xa0000000
push 1
push 0x43520000
push 0x43b40000
push 0x43480000
push 0x42a00000
call fcn.0040b1c0
push 0xa0000000
push 0xa0000000
push 0xa0000000
push 0xa0000000
push 1
push 0x42be0000
push 0x43b40000
push 0x43d20000
push 0x42a00000
call fcn.0040b1c0
mov esi, dword [esp + 0x94]
add esp, 0x48
and esi, 0xff
cmp esi, 3
ja case.default.0x41653f
jmp dword [esi*4 + 0x419e5c]
push 0xff8060ff
push 1
push 0x443858
push 0xf0
push 0x64
push 0x5d3260
call fcn.004095c0
add esp, 0x18
jmp case.default.0x41653f
mov ecx, dword [0x484adc]
and ecx, 0xff
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 1
sub eax, ecx
shl eax, 3
mov ecx, dword [eax + 0x456ce4]
mov eax, dword [eax + 0x456ce8]
push ecx
push eax
push eax
push ecx
push 0
push 0x42dc0000
push 0x43480000
push 0x435c0000
push 0x42c80000
call fcn.0040b1c0
mov ecx, dword [0x484adc]
and ecx, 0xff
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 1
sub eax, ecx
shl eax, 3
mov ecx, dword [eax + 0x456cec]
lea edx, [eax + 0x456cb0]
push ecx
push 1
push 0x443858
push 0xe6
push 0x6e
push edx
call fcn.004095c0
mov eax, dword [0x484adc]
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
mov edx, dword [ecx*8 + 0x456cec]
push edx
push 1
push 0x445058
push 0xfa
push 0x6e
push 0x571880
call fcn.004095c0
mov eax, dword [0x484adc]
add esp, 0x54
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
mov edx, dword [ecx*8 + 0x456cec]
push edx
jmp 0x41679c
push 0xffc0c0c0
push 0xffc0c0c0
push 0xffc0c0c0
push 0xffc0c0c0
push 0
push 0x42dc0000
push 0x43480000
push 0x435c0000
push 0x42c80000
mov byte [0x484ac8], 1
call fcn.0040b1c0
mov eax, dword [0x484adc]
push 0xff808080
and eax, 0xff
push 0x80
push 0x443858
push 0xe6
lea ecx, [eax + eax*4]
push 0x6e
mov byte [0x484ac8], 0
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
lea edx, [ecx*8 + 0x456cb0]
push edx
call fcn.004095c0
push 0xff000000
push 1
push 0x445058
push 0xfa
push 0x6e
push 0x571980
call fcn.004095c0
add esp, 0x54
push 0xffc0c0c0
jmp 0x41679c
push 0xffffe060
push 0xffffe060
push 0xffe0c060
push 0xffffe060
push 0
push 0x42dc0000
push 0x43480000
push 0x435c0000
push 0x42c80000
mov byte [0x484ac8], 1
call fcn.0040b1c0
mov eax, dword [0x484adc]
push 0xff808080
and eax, 0xff
push 0x80
push 0x443858
push 0xe6
lea ecx, [eax + eax*4]
push 0x6e
mov byte [0x484ac8], 0
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
lea edx, [ecx*8 + 0x456cb0]
push edx
call fcn.004095c0
push 0xff000000
push 1
push 0x445058
push 0xfa
push 0x6e
push 0x571a80
call fcn.004095c0
add esp, 0x54
push 0xffffe060
push 0x42dc0000
push 0x43480000
push 0x435c0000
push 0x42c80000
call fcn.0040a890
add esp, 0x14
test bl, bl
je 0x416ab3
mov eax, dword [0x8ff714]
push 2
push 0x12
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov al, byte [0x667aeb]
mov edx, dword [0x5700cc]
mov cl, al
push 0xffffffffffffffff
shr cl, 1
and ecx, 0xff
push 0
mov dword [esp + 0x54], ecx
push edx
fild dword [esp + 0x58]
push 0x3e780000
push 0x3efc0000
and al, 1
push ecx
fmul qword [0x43e228]
and eax, 0xff
mov dword [esp + 0x64], eax
fadd qword [0x43e248]
fstp dword [esp]
fild dword [esp + 0x64]
push ecx
fmul qword [0x43e280]
fadd qword [0x43e248]
fstp dword [esp]
push 0x41c00000
push 0x42000000
push 0x43660000
push 0x43820000
call fcn.0040ae20
push 0xffa0a0a0
push 0xffe0e0e0
push 0xffa0a0a0
push 0xff606060
push 0
push 0x42000000
push 0x42000000
push 0x43820000
push 0x43820000
call fcn.0040b1c0
mov edx, dword [0x570d74]
add esp, 0x50
push 0xffff0000
push 2
push edx
push 0x3e9c0000
push 0x3e9c0000
push 0x3e740000
push 0x3eb20000
push 0x41f00000
push 0x41f00000
push 0x43828000
push 0x43820000
call fcn.0040ae20
mov eax, dword [0x570d74]
push 0xff00ff00
push 2
push eax
push 0x3e9c0000
push 0x3e9c0000
push 0x3e740000
push 0x3eb20000
push 0x41f00000
push 0x41f00000
push 0x43828000
push 0x43828000
call fcn.0040ae20
mov ecx, dword [0x570d74]
add esp, 0x58
push 0xff0000ff
push 2
push ecx
push 0x3e9c0000
push 0x3e9c0000
push 0x3e740000
push 0x3eb20000
push 0x41f00000
push 0x41f00000
push 0x43828000
push 0x43830000
call fcn.0040ae20
mov eax, dword [0x8ff714]
add esp, 0x2c
mov edx, dword [eax]
push 1
push 0x12
push eax
call dword [edx + 0x58]
push 0x447f9b
push 0x5d32e0
push 0x4861f0
call fcn.00433bbe
push 0x90000000
push 0x40
push 0x445058
push 0x119
push 0x6f
push 0x4861f0
call fcn.004095c0
push 0xff303030
push 0x80
push 0x445058
push 0x118
push 0x6e
push 0x4861f0
call fcn.004095c0
mov eax, dword [0x4480d4]
shl eax, 5
add eax, 0x593bc0
push eax
push 0x5d3360
push 0x4861f0
call fcn.00433bbe
add esp, 0x48
push 0x90000000
push 0x40
push 0x445058
push 0x128
push 0x6f
push 0x4861f0
call fcn.004095c0
push 0xff303030
push 0x80
push 0x445058
push 0x127
push 0x6e
push 0x4861f0
call fcn.004095c0
push 0x4480fb
push 0x5d33e0
push 0x4861f0
call fcn.00433bbe
push 0x90000000
push 0x40
push 0x445058
push 0x137
push 0x6f
push 0x4861f0
call fcn.004095c0
add esp, 0x54
push 0xff303030
push 0x80
push 0x445058
push 0x136
push 0x6e
push 0x4861f0
call fcn.004095c0
push 0xffffffffffffffff
push 1
push 0x445058
push 0x159
push 0x64
push 0x5d3460
call fcn.004095c0
push 0xffffffffffffffff
push 1
shl esi, 8
push 0x445058
push 0x168
lea ecx, [esi + 0x5717c0]
push 0x6e
push ecx
call fcn.004095c0
add esp, 0x48
lea edx, [esi + 0x571800]
push 0xffffffffffffffff
push 1
push 0x445058
push 0x177
push 0x6e
push edx
call fcn.004095c0
push 0xffffffffffffffff
push 1
push 0x445058
push 0x186
lea eax, [esi + 0x571840]
push 0x6e
push eax
call fcn.004095c0
add esp, 0x30
mov ecx, dword [0x5700d0]
push 0xffffffffffffffff
push 2
push ecx
push 0x3e980000
push 0x3e100000
push 0x3f070000
push 0x3b800000
push 0x42980000
push 0x42100000
push 0x43d70000
push 0x43af0000
call fcn.0040ae20
mov al, byte [0x486b01]
add esp, 0x2c
test al, al
jne 0x416b35
mov edx, dword [0x5700d0]
push 0xffff0000
push 0
push edx
push 0x3df00000
push 0x3e040000
push 0x3f350000
push 0x3e180000
push 0x41f00000
push 0x42040000
push 0x43d88000
push 0x43af8000
call fcn.0040ae20
add esp, 0x2c
mov al, byte [0x486afc]
test al, al
jne 0x416b7b
mov eax, dword [0x5700d0]
push 0xffff0000
push 0
push eax
push 0x3df00000
push 0x3e040000
push 0x3f350000
push 0x3e180000
push 0x41f00000
push 0x42040000
push 0x43ec8000
push 0x43af8000
call fcn.0040ae20
add esp, 0x2c
mov eax, dword [0x484adc]
xor edx, edx
and eax, 0xff
push 0xa
push 0x4861f0
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
mov dl, byte [ecx*8 + 0x456df6]
push edx
call fcn.0043d922
push 0xffffffffffffffff
push 1
push 0x443858
push 0x1b8
push 0x186
push 0x4861f0
call fcn.004095c0
mov eax, dword [0x484adc]
xor edx, edx
and eax, 0xff
push 0xa
push 0x4861f0
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
mov dl, byte [ecx*8 + 0x456df5]
push edx
call fcn.0043d922
push 0xffffffffffffffff
push 1
push 0x443858
push 0x1e0
push 0x186
push 0x4861f0
call fcn.004095c0
add esp, 0x48
push 0xffffffffffffffff
push 1
push 0x445058
push 0x1ae
push 0x64
push 0x5d34e0
call fcn.004095c0
mov eax, dword [0x484adc]
push 8
and eax, 0xff
push 0x78
push 0x1c2
push 0x64
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*8]
shl edx, 0xa
add edx, 0x487320
push edx
call fcn.00419ea0
push 0x441b48
call fcn.004038c0
add esp, 0x30
call fcn.00403fd0
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
mov esi, 0xffc0c0c0
call fcn.00414310
mov dword [esp + 0x48], eax
mov eax, dword [0x484adc]
and eax, 0xff
push 0xff8060ff
push 4
push 0x442058
lea ecx, [eax + eax*4]
push 0x78
push 0x190
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
lea edx, [ecx*8 + 0x456cb0]
push edx
call fcn.00409d80
push 0xffffffffffffffff
push 4
push 0x443858
push 0xa5
push 0x190
push 0x5d3560
call fcn.004095c0
mov eax, dword [0x484adc]
push 1
and eax, 0xff
push 0x1ea
push 0xd2
push 0x37
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
lea edx, [ecx*8 + 0x456cf4]
push edx
call fcn.00419ea0
add esp, 0x44
push esi
push esi
push esi
push esi
push ebp
push 0x43968000
push 0x41700000
push 0x43680000
push 0x44054000
call fcn.0040b1c0
push 0xff000000
push 0xff000000
push 0xff000000
push 0xff000000
push ebp
push 0x43958000
push 0x41500000
push 0x43690000
push 0x44058000
call fcn.0040b1c0
mov al, byte [0x486b0d]
add esp, 0x48
test al, al
je 0x416d77
mov esi, 0xff8060ff
jmp 0x416d85
mov byte [0x484ac8], 1
mov byte [0x484ac9], 1
push esi
push esi
push esi
xor eax, eax
mov ax, word [0x486b06]
push esi
push ebp
push ecx
movsx ecx, word [0x486b0a]
mov dword [esp + 0x64], eax
add ecx, 0xeb
fild dword [esp + 0x64]
mov dword [esp + 0x64], ecx
fstp dword [esp]
fild dword [esp + 0x64]
push 0x41100000
push ecx
fstp dword [esp]
push 0x44060000
call fcn.0040b1c0
add esp, 0x24
mov byte [0x484ac8], 0
mov byte [0x484ac9], 0
call fcn.00414280
mov edx, dword [0x484adc]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ebp
mov esi, edx
and esi, 0xff
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 1
sub eax, esi
shl eax, 3
movzx cx, byte [eax + 0x456df4]
cmp word [esp + 0x2c], cx
jae 0x417511
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x12], 0
and ecx, 0xffff
mov ebx, ecx
shl ebx, 4
add ebx, ecx
shl ebx, 4
mov cl, byte [ebx + eax + 0x456ff9]
mov byte [esp + 0x18], cl
mov cl, byte [ebx + eax + 0x456ff8]
mov byte [esp + 0x20], cl
mov cl, byte [ebx + eax + 0x456ffa]
mov byte [esp + 0x30], cl
mov cl, byte [ebx + eax + 0x456ffb]
mov al, byte [ebx + eax + 0x456ffc]
mov byte [esp + 0x44], cl
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x48]
lea ebp, [eax + ecx*2]
mov al, byte [esp + 0x20]
test al, al
jne 0x416e97
mov al, byte [esp + 0x30]
test al, al
je 0x416e90
mov edi, 0x5b7d60
jmp 0x416eb3
mov edi, 0x5b7d40
jmp 0x416eb3
mov ecx, dword [esp + 0x20]
shl esi, 7
and ecx, 0xff
add esi, ecx
lea eax, [esi + esi*8]
lea ecx, [esi + eax*8]
lea edi, [ecx*8 + 0x4870d8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4860dc
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x18]
and ecx, 3
cmp al, 2
rep movsb byte es:[edi], byte [esi]
jne 0x416fc6
cmp byte [esp + 0x30], 0xc
je 0x416fc6
mov esi, ebp
push 0xff000000
and esi, 0xffff
push 0xff000000
push 0xff000000
push 0xff000000
lea ecx, [esi + 0xe8]
push 0
mov dword [esp + 0x60], ecx
push 0x41f00000
fild dword [esp + 0x64]
push 0x43f08000
push ecx
fstp dword [esp]
push 0x42480000
call fcn.0040b1c0
mov eax, dword [0x484adc]
mov edx, dword [0x570d74]
and eax, 0xff
add esp, 0x24
mov ecx, eax
and eax, 3
shr ecx, 2
push 0xffffffffffffffff
push 0
lea ecx, [ecx + ecx*2]
push edx
push 0x3de80000
push 0x3e680000
lea ecx, [ecx + ecx*4]
add esi, 0xe9
push ecx
lea edx, [ecx + ecx + 1]
lea ecx, [eax + eax*2]
mov dword [esp + 0x64], edx
fild dword [esp + 0x64]
lea ecx, [ecx + ecx*4]
shl ecx, 2
fmul qword [0x43e248]
sub ecx, eax
inc ecx
mov dword [esp + 0x64], ecx
fstp dword [esp]
fild dword [esp + 0x64]
push ecx
mov dword [esp + 0x68], esi
fmul qword [0x43e248]
fstp dword [esp]
fild dword [esp + 0x68]
push 0x41e80000
push 0x42680000
push ecx
fstp dword [esp]
push 0x42480000
call fcn.0040ae20
mov edx, dword [0x484adc]
add esp, 0x2c
mov byte [esp + 0x12], 0x3c
mov esi, dword [esp + 0x30]
and esi, 0xff
cmp esi, 0xc
ja case.0x416fd9.2
jmp dword [esi*4 + 0x419e6c]
mov eax, dword [esp + 0x18]
and edx, 0xff
shl edx, 7
and eax, 0xff
add edx, eax
lea ecx, [edx + edx*8]
lea edx, [edx + ecx*8]
lea eax, [edx*8 + 0x4870d8]
push eax
push 0x5d35e0
push 0x4861f0
call fcn.00433bbe
add esp, 0xc
jmp 0x417389
mov ecx, dword [esp + 0x18]
and edx, 0xff
shl edx, 7
and ecx, 0xff
add edx, ecx
lea eax, [edx + edx*8]
lea ecx, [edx + eax*8]
lea edx, [ecx*8 + 0x4870d8]
push edx
push 0x5d3660
push 0x4861f0
call fcn.00433bbe
add esp, 0xc
jmp 0x417389
mov eax, dword [esp + 0x18]
and edx, 0xff
shl edx, 7
and eax, 0xff
push 0x4860dc
add edx, eax
lea ecx, [edx + edx*8]
lea edx, [edx + ecx*8]
lea eax, [edx*8 + 0x4870d8]
push eax
push 0x5d36e0
jmp 0x41737c
mov ecx, dword [esp + 0x18]
and edx, 0xff
shl edx, 7
and ecx, 0xff
push 0x4860dc
add edx, ecx
lea eax, [edx + edx*8]
lea ecx, [edx + eax*8]
lea edx, [ecx*8 + 0x4870d8]
push edx
push 0x5d3760
jmp 0x41737c
cmp byte [esp + 0x20], 1
jne 0x4170f9
mov eax, dword [0x570d94]
mov ecx, ebp
and ecx, 0xffff
push 0xffffffffffffffff
add ecx, 0xf0
push 2
mov dword [esp + 0x54], ecx
push eax
fild dword [esp + 0x58]
push 0x47a0a8
push ecx
fstp dword [esp]
push 0x41c80000
call fcn.0040b060
mov edx, dword [0x484adc]
add esp, 0x18
mov eax, dword [esp + 0x44]
push 0x4860dc
and eax, 0xff
and edx, 0xff
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*4]
lea ecx, [eax*2 + 0x441a00]
mov eax, dword [esp + 0x44]
and eax, 0xff
push ecx
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*4]
lea ecx, [eax*2 + 0x441aa8]
mov eax, edx
push ecx
mov ecx, dword [esp + 0x24]
shl eax, 7
and ecx, 0xff
lea edx, [edx + edx*2]
add eax, ecx
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*8]
lea ecx, [eax*8 + 0x4870d8]
lea eax, [esi + edx*2]
shl eax, 6
add eax, 0x571d00
push ecx
push eax
push 0x4861f0
call fcn.00433bbe
add esp, 0x18
jmp 0x417389
cmp byte [esp + 0x18], 8
jae 0x41720b
mov esi, dword [esp + 0x18]
and esi, 0xff
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea edi, [eax + eax*4]
lea edi, [edi + edi*4]
shl edi, 1
sub edi, esi
shl edi, 3
mov eax, dword [edi + 0x456ce4]
mov ecx, dword [edi + 0x456ce8]
push eax
push ecx
push ecx
mov ecx, ebp
and ecx, 0xffff
push eax
add ecx, 0xe8
push 0
mov dword [esp + 0x60], ecx
push 0x41f00000
fild dword [esp + 0x64]
push 0x43f08000
push ecx
fstp dword [esp]
push 0x42480000
call fcn.0040b1c0
mov edx, dword [edi + 0x456cec]
lea eax, [ebp + 0xef]
push edx
push 4
shl esi, 6
push 0x443858
push eax
add esi, 0x5941a0
push 0x122
push esi
call fcn.004095c0
add esp, 0x3c
jmp 0x417389
mov ecx, ebp
push 0xff0000ff
and ecx, 0xffff
push 0xff00ff00
push 0xffffff00
add ecx, 0xe8
push 0xffff0000
push 0
mov dword [esp + 0x60], ecx
push 0x41f00000
fild dword [esp + 0x64]
push 0x43f08000
push ecx
fstp dword [esp]
push 0x42480000
call fcn.0040b1c0
mov eax, dword [esp + 0x3c]
push 0xffffffffffffffff
and eax, 0xff
push 4
lea edx, [ebp + 0xef]
push 0x443858
shl eax, 6
push edx
add eax, 0x5941a0
push 0x122
push eax
call fcn.004095c0
add esp, 0x3c
jmp 0x417389
cmp byte [esp + 0x20], 1
jne 0x4172c7
mov ecx, dword [0x570d94]
mov edx, ebp
and edx, 0xffff
push 0xffffffffffffffff
add edx, 0xf0
push 2
mov dword [esp + 0x54], edx
push ecx
fild dword [esp + 0x58]
push 0x47a0a8
push ecx
fstp dword [esp]
push 0x41c80000
call fcn.0040b060
mov edx, dword [0x484adc]
add esp, 0x18
mov ecx, dword [esp + 0x18]
and edx, 0xff
mov eax, edx
and ecx, 0xff
shl eax, 7
add eax, ecx
lea edx, [edx + edx*2]
shl edx, 7
lea ecx, [eax + eax*8]
push 0x4860dc
add edx, 0x571e00
lea eax, [eax + ecx*8]
lea ecx, [eax*8 + 0x4870d8]
push ecx
push edx
jmp 0x41737c
cmp byte [esp + 0x20], 1
jne 0x417343
mov eax, dword [0x570d94]
mov ecx, ebp
and ecx, 0xffff
push 0xffffffffffffffff
add ecx, 0xf0
push 2
mov dword [esp + 0x54], ecx
push eax
fild dword [esp + 0x58]
push 0x47a0a8
push ecx
fstp dword [esp]
push 0x41c80000
call fcn.0040b060
mov edx, dword [0x484adc]
add esp, 0x18
mov ecx, dword [esp + 0x18]
and edx, 0xff
mov eax, edx
and ecx, 0xff
shl eax, 7
add eax, ecx
lea edx, [edx + edx*2]
push 0x4860dc
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*8]
lea ecx, [eax*8 + 0x4870d8]
lea eax, [esi + edx*2]
shl eax, 6
add eax, 0x571d00
push ecx
push eax
push 0x4861f0
call fcn.00433bbe
add esp, 0x10
mov eax, dword [0x484adc]
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
mov cl, byte [ebx + ecx*8 + 0x457004]
test cl, cl
je 0x4173fd
and ecx, 0xff
mov edx, ebp
mov eax, ecx
and ecx, 0xfffffffe
or eax, 0xffffff00
and edx, 0xffff
shl eax, 9
or eax, ecx
add edx, 0xe8
shl eax, 7
push eax
push eax
push eax
push eax
push 2
mov dword [esp + 0x60], edx
fild dword [esp + 0x60]
push 0x41f00000
push 0x43f08000
push ecx
fstp dword [esp]
push 0x42480000
call fcn.0040b1c0
add esp, 0x24
cmp byte [esp + 0x30], 0xc
je 0x417463
movzx ax, byte [esp + 0x12]
push 0xffffffffffffffff
push 0x21
lea ecx, [ebp + 0xeb]
lea esi, [eax + 0x32]
push 0x445058
push ecx
push esi
push 0x4861f0
call fcn.004095c0
mov eax, dword [0x484adc]
push 0xffffffffffffffff
and eax, 0xff
push 0x21
lea edx, [ebp + 0xf8]
push 0x445058
lea ecx, [eax + eax*4]
push edx
push esi
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
lea edx, [ebx + ecx*8 + 0x456ef8]
push edx
call fcn.004095c0
add esp, 0x30
and ebp, 0xffff
push 0
push 0xffffffffffffffff
push 0xff404040
lea eax, [ebp + 0xe8]
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
fstp dword [esp + 0x58]
mov esi, dword [esp + 0x58]
push esi
push 0x43c80000
push esi
push 0x42480000
call fcn.0040b140
push 0
push 0xffc0c0c0
push 0xffffffffffffffff
push esi
push 0x4404c000
push esi
push 0x43c80000
call fcn.0040b140
add esp, 0x38
cmp word [esp + 0x1c], 9
jne 0x41750b
add ebp, 0x106
push 0
mov dword [esp + 0x50], ebp
push 0xffffffffffffffff
fild dword [esp + 0x54]
push 0xff404040
fstp dword [esp + 0x58]
mov esi, dword [esp + 0x58]
push esi
push 0x43c80000
push esi
push 0x42480000
call fcn.0040b140
push 0
push 0xffc0c0c0
push 0xffffffffffffffff
push esi
push 0x4404c000
push esi
push 0x43c80000
call fcn.0040b140
add esp, 0x38
mov edx, dword [0x484adc]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
inc eax
inc esi
cmp ax, 0xa
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], esi
jb 0x416dea
push 0xff202020
push 0xff202020
push 0xff202020
push 0xff202020
push 2
push 0x43520000
push 0x43430000
push 0x434e0000
push 0x440ac000
call fcn.0040b1c0
add esp, 0x24
mov esi, 0x441168
mov edi, 3
push esi
call fcn.004038c0
add esp, 4
add esi, 0x2a
dec edi
jne 0x417569
mov esi, 0x4419f8
mov edi, 4
push esi
call fcn.004038c0
add esp, 4
add esi, 0x2a
dec edi
jne 0x417582
mov esi, 0x441aa0
mov edi, 4
push esi
call fcn.004038c0
add esp, 4
add esi, 0x2a
dec edi
jne 0x41759b
push 0xffffffffffffffff
push 4
push 0x445058
push 0x1ab
push 0x28a
push 0x5d37e0
call fcn.004095c0
push 0xffffffffffffffff
push 4
push 0x445058
push 0x1e4
push 0x28a
push 0x5d3860
call fcn.004095c0
xor eax, eax
add esp, 0x30
mov al, byte [0x5ba4a5]
sub eax, 0
je 0x417811
dec eax
je 0x4176e0
dec eax
jne 0x417b32
xor ebx, ebx
mov ebp, 0x44e1eb
mov edi, 0x456cb0
mov al, bl
mov cl, 0xe
imul cl
mov byte [esp + 0x12], al
mov al, byte [0x4862f0]
test al, al
je 0x417682
mov al, byte [0x486b09]
xor dx, dx
mov dl, al
cmp dx, bx
jne 0x417682
xor ecx, ecx
push 0xff8060ff
mov cl, al
push 0xff8060ff
mov eax, ecx
push 0xff8060ff
push 0xff8060ff
push 0
lea edx, [eax*8]
push 0x41500000
sub edx, eax
push 0x43410000
push ecx
lea eax, [edx + edx + 0xd6]
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
fstp dword [esp]
push 0x440ac000
call fcn.0040b1c0
add esp, 0x24
movzx cx, byte [esp + 0x12]
push 0xff8060ff
push 0x81
lea esi, [ecx + 0xd7]
push 0x445058
push esi
push 0x22e
push edi
call fcn.004095c0
push 0xffffffffffffffff
push 0x81
push 0x445058
push esi
push 0x28a
push ebp
call fcn.004095c0
add esp, 0x30
inc ebx
add edi, 0x4648
add ebp, 0xb0
cmp bx, 8
jb 0x417611
jmp 0x417b32
mov ecx, dword [0x484adc]
xor ebx, ebx
and ecx, 0xff
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*8]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 1
sub edx, ecx
mov al, byte [edx*8 + 0x456cf3]
test al, al
jbe 0x417b32
mov al, bl
mov dl, 0xe
imul dl
movzx ax, al
mov edi, ebx
push 0xff8060ff
lea esi, [eax + 0xd7]
lea eax, [ecx + ecx*4]
and edi, 0xffff
push 0x82
lea eax, [eax + eax*8]
push 0x445058
push esi
push 0x276
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
xor eax, eax
shl edx, 1
sub edx, ecx
add edx, edi
shl ecx, 7
mov al, byte [edx*8 + 0x456df8]
add eax, ecx
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*8]
lea eax, [edx*8 + 0x4870d8]
push eax
call fcn.004095c0
push 0xffffffffffffffff
push 4
push 0x445058
push esi
push 0x28a
push 0x5d3a60
call fcn.004095c0
mov eax, dword [0x484adc]
xor edx, edx
and eax, 0xff
push 0xff8060ff
push 0x81
push 0x445058
lea ecx, [eax + eax*4]
push esi
push 0x29e
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
add ecx, edi
shl eax, 7
mov dl, byte [ecx*8 + 0x456df9]
mov ecx, edx
add ecx, eax
lea eax, [ecx + ecx*8]
lea ecx, [ecx + eax*8]
lea edx, [ecx*8 + 0x4870d8]
push edx
call fcn.004095c0
mov ecx, dword [0x484adc]
add esp, 0x48
and ecx, 0xff
inc ebx
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 1
sub eax, ecx
movzx dx, byte [eax*8 + 0x456cf3]
cmp bx, dx
jb 0x41770d
jmp 0x417b32
mov esi, dword [0x484adc]
xor edx, edx
mov ecx, esi
mov dword [esp + 0x1c], edx
and ecx, 0xff
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 1
sub eax, ecx
mov bl, byte [eax*8 + 0x456cf2]
test bl, bl
jbe 0x417b32
jmp 0x41784a
mov edx, dword [esp + 0x1c]
mov al, dl
mov bl, 0xe
imul bl
mov bl, al
mov eax, edx
and eax, 0xffff
mov byte [esp + 0x48], bl
shl ecx, 7
lea ebp, [eax + 0x5ba491]
xor eax, eax
mov al, byte [ebp]
add ecx, eax
lea eax, [ecx + ecx*8]
lea ecx, [ecx + eax*8]
cmp word [ecx*8 + 0x4870f2], 0
jne 0x417889
mov al, byte [0x5d38e0]
mov byte [esp + 0x44], al
jmp 0x417893
mov cl, byte [0x5d3960]
mov byte [esp + 0x44], cl
mov al, byte [0x4861ec]
test al, al
je 0x417900
mov al, byte [0x486b0e]
xor cx, cx
mov cl, al
cmp cx, dx
jne 0x417900
xor edx, edx
push 0xff8060ff
mov dl, al
push 0xff8060ff
mov eax, edx
push 0xff8060ff
push 0xff8060ff
push 0
lea ecx, [eax*8]
push 0x41500000
sub ecx, eax
push 0x43410000
push ecx
lea edx, [ecx + ecx + 0xd6]
mov dword [esp + 0x6c], edx
fild dword [esp + 0x6c]
fstp dword [esp]
push 0x440ac000
call fcn.0040b1c0
mov esi, dword [0x484adc]
add esp, 0x24
mov al, byte [ebp]
cmp al, 1
jne 0x417941
and esi, 0xff
xor ax, ax
mov al, bl
push 0xff8060ff
lea ecx, [esi + esi*8]
push 1
lea edi, [eax + 0xd7]
push 0x445058
lea edx, [esi + ecx*8]
push edi
shl edx, 0xa
add edx, 0x487320
push 0x26c
push edx
call fcn.00409d80
jmp 0x417984
and esi, 0xff
and eax, 0xff
shl esi, 7
add esi, eax
xor cx, cx
mov cl, bl
push 0xff8060ff
lea edx, [esi + esi*8]
push 0x81
lea edi, [ecx + 0xd7]
push 0x445058
lea eax, [esi + edx*8]
push edi
push 0x26c
lea ecx, [eax*8 + 0x4870d8]
push ecx
call fcn.004095c0
mov al, byte [ebp]
add esp, 0x18
cmp al, 2
jne 0x4179b5
push 0xff808080
push 0x82
push 0x445058
push edi
push 0x2ec
push 0x5d39e0
call fcn.004095c0
add esp, 0x18
jmp 0x417a44
mov edx, dword [esp + 0x44]
and edx, 0xff
push edx
push 0x447cb4
push 0x4861f0
call fcn.00433bbe
push 0xff808080
push 0x81
push 0x445058
push edi
push 0x2d5
push 0x4861f0
call fcn.004095c0
mov eax, dword [0x484adc]
xor ecx, ecx
mov cl, byte [ebp]
and eax, 0xff
shl eax, 7
add eax, ecx
xor ecx, ecx
lea edx, [eax + eax*8]
lea eax, [eax + edx*8]
mov cx, word [eax*8 + 0x4870f0]
push ecx
push 0x441f60
push 0x4861f0
call fcn.00433bbe
push 0xff808080
push 0x82
push 0x445058
push edi
push 0x2ec
push 0x4861f0
call fcn.004095c0
add esp, 0x48
mov eax, dword [0x8ff714]
push 2
push 0x12
push eax
mov edx, dword [eax]
call dword [edx + 0x58]
mov eax, dword [esp + 0x48]
xor esi, esi
and eax, 0xff
mov dword [esp + 0x34], 0x22e
add eax, 0xd6
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
fstp dword [esp + 0x4c]
mov edi, dword [esp + 0x4c]
mov eax, dword [0x484adc]
xor ecx, ecx
mov cl, byte [ebp]
and eax, 0xff
shl eax, 7
add eax, ecx
fild dword [esp + 0x34]
lea edx, [eax + eax*8]
lea eax, [eax + edx*8]
movzx cx, byte [eax*8 + 0x4872d6]
cmp si, cx
mov eax, dword [0x570d74]
sbb edx, edx
and edx, 0x6048bf
add edx, 0xff201840
push edx
push 2
push eax
push 0x47a028
push 0x41400000
push 0x41400000
push edi
push ecx
fstp dword [esp]
call fcn.0040ad70
mov ecx, dword [esp + 0x54]
add esp, 0x20
inc esi
add ecx, 0xc
cmp si, 5
mov dword [esp + 0x34], ecx
jb 0x417a7b
mov eax, dword [0x8ff714]
push 1
push 0x12
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov esi, dword [0x484adc]
mov edx, dword [esp + 0x1c]
mov ecx, esi
inc edx
and ecx, 0xff
mov dword [esp + 0x1c], edx
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 1
sub eax, ecx
movzx ax, byte [eax*8 + 0x456cf2]
cmp dx, ax
jb 0x417846
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x1c]
mov eax, ebx
and eax, 0xffff
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*4]
lea eax, [edx*2 + 0x4411e8]
push eax
call fcn.004038c0
mov al, byte [0x5ba4a7]
add esp, 4
test al, al
je 0x417f6c
movzx bp, byte [0x4861e3]
cmp bx, bp
jne 0x417f6c
lea ecx, [ebp + ebp*4]
lea edx, [ebp + ecx*8]
lea ebp, [ebp + edx*2 + 0x32]
mov dl, byte [0x4861e1]
cmp dl, 1
je 0x417bbe
cmp dl, 2
je 0x417bbe
mov eax, dword [0x484adc]
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub ecx, eax
mov al, byte [ecx*8 + 0x456cf2]
inc al
mov byte [esp + 0x30], al
jmp 0x417bdd
mov eax, dword [0x484adc]
and eax, 0xff
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*8]
shl eax, 0xa
mov cl, byte [eax + 0x487566]
mov byte [esp + 0x30], cl
mov al, cl
cmp dl, 1
je 0x417bec
cmp dl, 2
mov edi, 0x64
jne 0x417bf1
mov edi, 0xfa
test al, al
mov dword [esp + 0x44], edi
je 0x417f6c
mov eax, dword [esp + 0x30]
push 0xffffffffffffffff
and eax, 0xff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
lea edx, [eax*8]
push 0
sub edx, eax
push ecx
and edi, 0xffff
mov esi, ebp
lea eax, [edx + edx + 2]
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], eax
and esi, 0xffff
fild dword [esp + 0x64]
mov dword [esp + 0x58], esi
mov byte [0x484ac8], 1
fstp dword [esp]
fild dword [esp + 0x60]
push ecx
fstp dword [esp]
fild dword [esp + 0x5c]
push 0x434e0000
push ecx
fstp dword [esp]
call fcn.0040b1c0
add esp, 0x24
cmp bx, 1
mov byte [0x484ac8], 0
je 0x417cb2
cmp bx, 2
je 0x417cb2
lea ecx, [esi + 0x63]
push 0xff000000
push 0xff000000
mov dword [esp + 0x54], ecx
fild dword [esp + 0x54]
push 0
push 0x435d0000
push ecx
lea edx, [esi + 1]
mov dword [esp + 0x60], edx
fstp dword [esp]
fild dword [esp + 0x60]
push 0x435d0000
push ecx
fstp dword [esp]
call fcn.0040b140
add esp, 0x1c
mov al, byte [0x486b08]
test al, al
je 0x417d32
mov al, byte [0x486b02]
test al, al
je 0x417cd1
xor ecx, ecx
mov cl, al
cmp byte [ecx + 0x5ba490], 1
je 0x417d32
push 0xff8060ff
xor edx, edx
push 0xff8060ff
push 0xff8060ff
mov dl, al
push 0xff8060ff
push 0
mov eax, edx
push 0x41600000
add edi, 0xfffffffe
push ecx
lea ecx, [eax*8]
mov dword [esp + 0x68], edi
sub ecx, eax
fild dword [esp + 0x68]
lea edx, [ecx + ecx + 0xcf]
inc esi
mov dword [esp + 0x68], edx
fstp dword [esp]
fild dword [esp + 0x68]
push ecx
mov dword [esp + 0x6c], esi
fstp dword [esp]
fild dword [esp + 0x6c]
push ecx
fstp dword [esp]
call fcn.0040b1c0
add esp, 0x24
movzx ax, byte [esp + 0x30]
xor esi, esi
mov word [esp + 0x18], ax
test ax, ax
jbe 0x417f6c
mov al, byte [0x4861e1]
mov edx, 0xff000000
cmp al, 1
je 0x417e53
cmp al, 2
je 0x417e53
test si, si
je 0x417d98
mov eax, esi
xor ecx, ecx
and eax, 0xffff
mov cl, byte [eax + 0x5ba490]
mov eax, ecx
mov ecx, dword [0x484adc]
and ecx, 0xff
shl ecx, 7
add eax, ecx
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*8]
lea ebx, [eax*8 + 0x4870d8]
jmp 0x417daa
cmp word [esp + 0x1c], 0
mov ebx, 0x5b7d60
jne 0x417daa
mov ebx, 0x5b7d40
mov al, byte [0x486b08]
test al, al
je 0x417dc3
movzx cx, byte [0x486b02]
cmp si, cx
jne 0x417dc3
or edx, 0xffffffff
test si, si
je 0x417e28
mov eax, esi
and eax, 0xffff
cmp byte [eax + 0x5ba490], 1
jne 0x417e28
lea edi, [esi*8]
push 0x90000000
sub edi, esi
push 0x40
shl edi, 1
push 0x445058
lea edx, [ebp + 5]
lea ecx, [edi + 0xd0]
push ecx
push edx
push ebx
call fcn.004095c0
push 0xff303030
push 0x80
add edi, 0xd1
push 0x445058
lea eax, [ebp + 6]
push edi
push eax
push ebx
call fcn.004095c0
add esp, 0x30
jmp 0x417f60
lea ecx, [esi*8]
push edx
sub ecx, esi
push 1
push 0x445058
lea eax, [ebp + 5]
lea edx, [ecx + ecx + 0xd0]
push edx
push eax
push ebx
call fcn.004095c0
add esp, 0x18
jmp 0x417f60
mov eax, dword [0x484adc]
mov ecx, esi
and eax, 0xff
and ecx, 0xffff
lea edi, [eax + eax*8]
lea ecx, [ecx + ecx*2]
lea edi, [eax + edi*8]
shl edi, 0xa
shl eax, 7
lea ecx, [edi + ecx*2]
mov bl, byte [ecx + 0x48752b]
mov byte [esp + 0x3c], bl
mov bl, byte [ecx + 0x48752c]
mov byte [esp + 0x38], bl
xor ebx, ebx
mov bl, byte [ecx + 0x48752a]
mov ecx, ebx
add ecx, eax
lea eax, [ecx + ecx*8]
lea ecx, [ecx + eax*8]
lea eax, [ecx*8 + 0x4870d8]
mov cl, byte [0x486b08]
test cl, cl
je 0x417ebe
movzx cx, byte [0x486b02]
cmp si, cx
jne 0x417ebe
or edx, 0xffffffff
lea ecx, [esi*8]
push edx
sub ecx, esi
push 1
push 0x445058
lea edx, [ebp + 5]
lea edi, [ecx + ecx + 0xd0]
push edi
push edx
push eax
call fcn.004095c0
mov al, byte [0x486b08]
add esp, 0x18
test al, al
je 0x417eff
movzx ax, byte [0x486b02]
cmp si, ax
jne 0x417eff
or ebx, 0xffffffff
jmp 0x417f04
mov ebx, 0xff000000
mov eax, dword [esp + 0x3c]
and eax, 0xff
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*4]
lea eax, [edx*2 + 0x441a00]
push eax
mov eax, dword [esp + 0x3c]
and eax, 0xff
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*4]
lea eax, [edx*2 + 0x441aa8]
push eax
push str._s___s
push 0x4860dc
call fcn.00433bbe
mov ecx, dword [esp + 0x54]
push ebx
push 2
push 0x445058
lea edx, [ecx + ebp - 5]
push edi
push edx
push 0x4860dc
call fcn.004095c0
add esp, 0x28
inc esi
cmp si, word [esp + 0x18]
jb 0x417d48
mov ebx, dword [esp + 0x1c]
inc ebx
cmp bx, 6
mov dword [esp + 0x1c], ebx
jb 0x417b3e
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
mov eax, dword [0x484adc]
xor ecx, ecx
mov cl, byte [0x4861e2]
and eax, 0xff
shl eax, 7
add eax, ecx
xor ecx, ecx
lea edx, [eax + eax*8]
lea eax, [eax + edx*8]
mov cx, word [eax*8 + 0x4870f4]
push ecx
push 0x3c
push 0x3c
call fcn.0040e500
mov eax, dword [0x484adc]
xor edx, edx
mov dl, byte [0x4861e2]
and eax, 0xff
shl eax, 7
add eax, edx
push 0xffa0a0a0
push 0x101
push 0x442058
lea ecx, [eax + eax*8]
push 0x36
push 0x74
lea edx, [eax + ecx*8]
lea eax, [edx*8 + 0x4870d8]
push eax
call fcn.004095c0
mov eax, dword [0x484adc]
xor ecx, ecx
mov cl, byte [0x4861e2]
and eax, 0xff
shl eax, 7
add eax, ecx
push 0xffffffffffffffff
push 1
push 0x442058
lea edx, [eax + eax*8]
push 0x32
push 0x78
lea eax, [eax + edx*8]
lea ecx, [eax*8 + 0x4870d8]
push ecx
call fcn.004095c0
mov edi, 0x17c
add esp, 0x3c
mov esi, 4
mov dword [esp + 0x44], edi
mov ebx, 5
mov edx, dword [0x570d74]
push 0xffa0a0a0
lea eax, [edi - 2]
push 3
push edx
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
push 0x47a028
push 0x42cc0000
push ecx
fstp dword [esp]
call fcn.0040b060
mov eax, dword [0x484adc]
xor ecx, ecx
mov cl, byte [0x4861e2]
and eax, 0xff
shl eax, 7
add eax, ecx
xor ecx, ecx
add esp, 0x18
lea edx, [eax + eax*8]
lea eax, [eax + edx*8]
mov cl, byte [eax*8 + 0x4872d6]
cmp esi, ecx
jge 0x4180c8
mov edx, dword [0x570d74]
push 0xff8060ff
fild dword [esp + 0x48]
push 2
push edx
push 0x47a028
push 0x42c80000
push ecx
fstp dword [esp]
call fcn.0040b060
add esp, 0x18
dec esi
sub edi, 0x41
dec ebx
mov dword [esp + 0x44], edi
jne 0x418047
xor ebx, ebx
mov esi, 0xb4
mov dword [esp + 0x34], 0xffffffa0
mov ebp, 0x593c60
push 0xffa0a0a0
push 0x101
lea eax, [esi + 2]
push 0x443858
push eax
push 0x76
push ebp
call fcn.004095c0
push 0xffffffffffffffff
push 1
push 0x443858
push esi
push 0x78
push ebp
call fcn.004095c0
mov eax, ebx
add esp, 0x30
sub eax, 0
je 0x41818d
dec eax
je 0x41814f
mov eax, dword [0x484adc]
xor ecx, ecx
mov cl, byte [0x4861e2]
and eax, 0xff
shl eax, 7
add eax, ecx
mov ecx, dword [esp + 0x34]
lea edx, [eax + eax*8]
lea eax, [eax + edx*8]
lea edi, [ecx + eax*8 + 0x4870f6]
jmp 0x4181bd
mov eax, dword [0x484adc]
xor edx, edx
mov dl, byte [0x4861e2]
and eax, 0xff
shl eax, 7
add eax, edx
push 0xa
push 0x4861f0
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*8]
xor eax, eax
mov ax, word [edx*8 + 0x4870f0]
push eax
call fcn.0043d922
add esp, 0xc
mov edi, 0x4861f0
jmp 0x4181bd
mov eax, dword [0x484adc]
xor ecx, ecx
mov cl, byte [0x4861e2]
and eax, 0xff
shl eax, 7
add eax, ecx
xor edi, edi
lea edx, [eax + eax*8]
lea eax, [eax + edx*8]
mov di, word [eax*8 + 0x4870f2]
shl edi, 5
add edi, 0x593bc0
push 0xff000000
push 1
lea ecx, [esi + 6]
push 0x445058
push ecx
push 0x173
push edi
call fcn.004095c0
push 0xffffffffffffffff
push 1
lea edx, [esi + 5]
push 0x445058
push edx
push 0x172
push edi
call fcn.004095c0
mov edi, dword [esp + 0x64]
add esp, 0x30
add esi, 0x1e
inc ebx
add edi, 0x30
add ebp, 0x20
cmp si, 0x21c
mov dword [esp + 0x34], edi
jb 0x4180eb
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
push 0xff202020
push 0xff202020
push 0xff202020
push 0xff202020
push 2
push 0x43870000
push 0x43910000
xor esi, esi
push 0x435c0000
push 0x42c80000
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], esi
mov ebp, 0x78
mov dword [esp + 0x48], 0x104
call fcn.0040b1c0
push 0xff202020
push 0xff202020
push 0xff202020
push 0xff202020
push 2
push 0x43870000
push 0x43910000
push 0x435c0000
push 0x43cd0000
call fcn.0040b1c0
add esp, 0x48
push 0xffffffffffffffff
push 0x43870000
push 0x43910000
push 0x435c0000
push 0x42c80000
call fcn.0040a890
push 0xffffffffffffffff
push 0x43870000
push 0x43910000
push 0x435c0000
push 0x43cd0000
call fcn.0040a890
push 0xffffffffffffffff
push 1
push 0x443858
push 0xf0
push ebp
push 0x5d3ae0
call fcn.004095c0
add esp, 0x40
push 0xffffffffffffffff
push 1
push 0x443858
push 0x17c
push ebp
push 0x5d3b60
call fcn.004095c0
push 0xffffffffffffffff
push 1
push 0x443858
push 0x104
push 0x1e0
push 0x5d3be0
call fcn.004095c0
push 0x441cd8
call fcn.004038c0
push 0x441d02
call fcn.004038c0
add esp, 0x38
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], 0
and eax, 0xffff
or eax, 0xffffff00
shl eax, 8
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
and ebx, 0xffff
mov dword [esp + 0x18], 0
or ebx, ecx
shl ebx, 8
mov ecx, dword [esp + 0x18]
mov eax, ecx
and eax, 0xffff
or eax, ebx
cmp word [esp + 0x2c], 0
jne 0x418397
cmp word [esp + 0x30], 0
jne 0x418397
test cx, cx
jne 0x418397
mov eax, 0xff202020
mov esi, dword [esp + 0x24]
push eax
push eax
and esi, 0xffff
push eax
push eax
mov dword [esp + 0x30], esi
push 0
fild dword [esp + 0x34]
push 0x41600000
mov edi, ebp
push 0x41600000
push ecx
and edi, 0xffff
fstp dword [esp]
mov dword [esp + 0x3c], edi
push ecx
fild dword [esp + 0x40]
fstp dword [esp]
call fcn.0040b1c0
xor eax, eax
add esp, 0x24
mov al, byte [0x486b56]
movzx cx, byte [eax + 0x667aec]
cmp word [esp + 0x34], cx
jne 0x418429
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
add esi, 2
push 0xffffffffffffffff
push 0
mov dword [esp + 0x5c], esi
push 0x40400000
fild dword [esp + 0x60]
push 0x40400000
push ecx
add edi, 2
fstp dword [esp]
mov dword [esp + 0x68], edi
push ecx
fild dword [esp + 0x6c]
fstp dword [esp]
call fcn.0040b1c0
add esp, 0x24
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
add ebp, 0x10
inc esi
inc eax
mov dword [esp + 0x34], esi
cmp ax, 0x10
mov dword [esp + 0x28], eax
jne 0x41845c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], 0
add eax, 0x10
mov ebp, 0x78
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
add eax, 0x30
cmp ax, 0x90
mov dword [esp + 0x18], eax
jbe 0x418370
mov eax, dword [esp + 0x30]
add eax, 0x30
cmp ax, 0x90
mov dword [esp + 0x30], eax
jbe 0x418355
mov eax, dword [esp + 0x2c]
add eax, 0x30
cmp ax, 0x90
mov dword [esp + 0x2c], eax
jbe 0x418338
mov ebp, 0x40
mov eax, 0x447331
xor ebx, ebx
sub eax, ebp
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x4c]
mov eax, ebx
mov cx, bx
and eax, 7
shr cx, 3
mov edx, eax
mov esi, ecx
shl edx, 5
shl esi, 4
add edx, 0x78
add esi, 0x144
cmp byte [edi + ebp], 0
je 0x418564
and ecx, 0xffff
mov edi, edx
mov edx, dword [0x570d74]
mov dword [esp + 0x48], ecx
fild dword [esp + 0x48]
push 0xffffffffffffffff
push 0
push edx
push 0x3d600000
fmul qword [0x43e618]
push 0x3df00000
push ecx
and eax, 0xffff
and esi, 0xffff
fadd qword [0x43e610]
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], esi
and edi, 0xffff
mov dword [esp + 0x34], edi
fstp dword [esp]
fild dword [esp + 0x60]
push ecx
fmul qword [0x43e608]
fadd qword [0x43e248]
fstp dword [esp]
fild dword [esp + 0x3c]
push 0x41600000
push 0x41f00000
push ecx
fstp dword [esp]
fild dword [esp + 0x44]
push ecx
fstp dword [esp]
call fcn.0040ae20
add esp, 0x2c
jmp 0x4185b2
push 0xff202020
push 0xff202020
and esi, 0xffff
push 0xff202020
push 0xff202020
mov dword [esp + 0x30], esi
fild dword [esp + 0x30]
push 2
push 0x41600000
mov edi, edx
push 0x41f00000
push ecx
and edi, 0xffff
mov dword [esp + 0x3c], edi
fstp dword [esp]
fild dword [esp + 0x3c]
push ecx
fstp dword [esp]
call fcn.0040b1c0
add esp, 0x24
xor eax, eax
xor ecx, ecx
mov al, byte [0x486b56]
mov cl, byte [eax + 0x667aec]
cmp ebp, ecx
jne 0x4185ff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
add esi, 2
push 0xffffffffffffffff
push 0
mov dword [esp + 0x5c], esi
push 0x40400000
fild dword [esp + 0x60]
push 0x40400000
push ecx
add edi, 2
fstp dword [esp]
mov dword [esp + 0x68], edi
push ecx
fild dword [esp + 0x6c]
fstp dword [esp]
call fcn.0040b1c0
add esp, 0x24
inc ebx
inc ebp
cmp bx, 0x18
jb 0x4184ad
xor edi, edi
mov dword [esp + 0x2c], 0x190
mov ebp, 2
fild dword [esp + 0x2c]
mov dword [esp + 0x30], 0x78
mov ebx, 4
fstp dword [esp + 0x44]
mov esi, dword [esp + 0x44]
fild dword [esp + 0x30]
mov eax, edi
and eax, 0xffff
fstp dword [esp + 0x34]
mov cl, byte [eax + 0x447329]
mov dword [esp + 0x4c], eax
test cl, cl
je 0x41868f
fild dword [esp + 0x4c]
mov edx, dword [0x570d6c]
push 0xffffffffffffffff
push 0
push edx
fmul qword [0x43e518]
push 0x3df80000
mov eax, dword [esp + 0x44]
push 0x3e700000
push ecx
fstp dword [esp]
push 0
push 0x42000000
push 0x42700000
push esi
push eax
call fcn.0040ae20
add esp, 0x2c
jmp 0x4186bd
mov ecx, dword [esp + 0x34]
push 0xff202020
push 0xff202020
push 0xff202020
push 0xff202020
push 2
push 0x42000000
push 0x42700000
push esi
push ecx
call fcn.0040b1c0
add esp, 0x24
xor edx, edx
mov dl, byte [0x486b56]
movzx ax, byte [edx + 0x667aee]
cmp di, ax
jne 0x41870a
fld dword [esp + 0x44]
fadd dword [0x43e400]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0x40a00000
push 0x40a00000
push ecx
fstp dword [esp]
fld dword [esp + 0x54]
fadd dword [0x43e400]
push ecx
fstp dword [esp]
call fcn.0040b1c0
add esp, 0x24
mov edx, dword [esp + 0x30]
add edx, 0x40
inc edi
dec ebx
mov dword [esp + 0x30], edx
jne 0x418633
mov ecx, dword [esp + 0x2c]
add ecx, 0x24
dec ebp
mov dword [esp + 0x2c], ecx
jne 0x41861a
push 0
call fcn.0042bc90
mov edx, dword [0x570d6c]
mov eax, dword [0x8ff714]
add esp, 4
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x98]
mov al, byte [0x486b56]
test al, al
jne 0x41886e
xor eax, eax
push 8
mov al, byte [0x667aee]
push 4
mov dword [esp + 0x54], eax
mov eax, dword [0x8ff714]
fild dword [esp + 0x54]
push 0x4812e8
push 0x1c4
push 6
push eax
fld st(0)
fmul qword [0x43e518]
fst dword [esp + 0x64]
fst dword [0x481364]
fstp dword [0x481304]
fadd qword [0x43e2a8]
fmul qword [0x43e600]
fmul qword [0x43e248]
fld st(0)
fst dword [0x481344]
fstp dword [0x481324]
fld dword [esp + 0x64]
fst dword [0x4813a4]
fstp dword [0x481384]
fst dword [0x4813e4]
fstp dword [0x4813c4]
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov eax, dword [0x8ff714]
push 8
push 4
push 0x481368
mov edx, dword [eax]
push 0x1c4
push 6
push eax
call dword [edx + 0x70]
mov edx, dword [0x5700d0]
mov eax, dword [0x8ff714]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x98]
mov eax, dword [0x8ff714]
push 8
push 4
push 0x4811e8
mov ecx, dword [eax]
push 0x1c4
push 6
push eax
call dword [ecx + 0x70]
mov edx, dword [0x5b9f08]
mov eax, 0x481278
mov ecx, 4
mov dword [eax], edx
add eax, 0x20
dec ecx
jne 0x41883e
mov eax, dword [0x8ff714]
push 8
push 4
push 0x481268
mov edx, dword [eax]
push 0x1c4
push 6
push eax
call dword [edx + 0x70]
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
xor ecx, ecx
xor edx, edx
mov cl, al
mov eax, dword [0x8ff714]
push 8
push 4
mov dl, byte [ecx + 0x667aee]
push 0x4814e8
mov dword [esp + 0x58], edx
push 0x1c4
fild dword [esp + 0x5c]
push 6
push eax
fld st(0)
fmul qword [0x43e518]
fst dword [esp + 0x64]
fst dword [0x481564]
fstp dword [0x481504]
fadd qword [0x43e2a8]
fmul qword [0x43e600]
fmul qword [0x43e248]
fld st(0)
fst dword [0x481544]
fstp dword [0x481524]
fld dword [esp + 0x64]
fst dword [0x4815a4]
fstp dword [0x481584]
fst dword [0x4815e4]
fstp dword [0x4815c4]
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov eax, dword [0x8ff714]
push 8
push 4
push 0x481568
mov edx, dword [eax]
push 0x1c4
push 6
push eax
call dword [edx + 0x70]
mov edx, dword [0x5700d4]
mov eax, dword [0x8ff714]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x98]
mov eax, dword [0x8ff714]
push 8
push 4
push 0x4813e8
mov ecx, dword [eax]
push 0x1c4
push 6
push eax
call dword [ecx + 0x70]
mov edx, dword [0x5b9f08]
mov eax, 0x481478
mov ecx, 4
mov dword [eax], edx
add eax, 0x20
dec ecx
jne 0x418951
mov eax, dword [0x8ff714]
push 8
push 4
push 0x481468
mov edx, dword [eax]
push 0x1c4
push 6
push eax
call dword [edx + 0x70]
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
push 0x44034000
push 0x442f0000
push 0x433e0000
push 0x42c80000
call fcn.0041d170
mov edx, dword [0x570d70]
mov eax, dword [0x8ff714]
add esp, 0x10
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x98]
mov eax, dword [0x8ff714]
push 2
push 0x11
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebp, 0x13
mov edi, 0xec
mov ebx, 0x447321
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edi
mov esi, 0x4472bc
mov dword [esp + 0x3c], 8
cmp byte [ebx], 0
je 0x418b23
fld dword [esi]
fmul dword [0x43e5f8]
lea edx, [edi + 3]
push 3
mov dword [esp + 0x50], edx
mov dword [0x47b048], 0x43870000
fadd dword [0x43e5f4]
mov dword [0x47afe8], 0x43870000
fst dword [0x47b028]
fstp dword [0x47b008]
fild dword [esp + 0x50]
fld st(0)
fst dword [0x47b00c]
fstp dword [0x47afec]
fld dword [esi]
fmul dword [0x43e5f0]
faddp st(1)
fst dword [0x47b04c]
fstp dword [0x47b02c]
call fcn.0042bc90
mov eax, dword [0x8ff714]
add esp, 4
mov ecx, dword [eax]
push 8
push 4
push 0x47afe8
push 0x1c4
push 6
push eax
call dword [ecx + 0x70]
fld dword [esi]
fmul dword [0x43e5f8]
lea edx, [ebp - 0x12]
push 0
mov dword [esp + 0x50], edx
mov dword [0x47ad88], 0x43870000
fadd dword [0x43e5f4]
mov dword [0x47ad28], 0x43870000
fst dword [0x47ad68]
fstp dword [0x47ad48]
fild dword [esp + 0x48]
fld st(0)
fst dword [0x47ad4c]
fstp dword [0x47ad2c]
fld dword [esi]
fmul dword [0x43e5f0]
faddp st(1)
fst dword [0x47ad8c]
fstp dword [0x47ad6c]
fild dword [esp + 0x50]
fmul qword [0x43e248]
fst dword [0x47ad60]
fstp dword [0x47ad40]
fild dword [esp + 0x44]
fmul qword [0x43e248]
fst dword [0x47ada0]
fstp dword [0x47ad80]
call fcn.0042bc90
mov eax, dword [0x8ff714]
add esp, 4
mov ecx, dword [eax]
push 8
push 4
push 0x47ad28
push 0x1c4
push 6
push eax
call dword [ecx + 0x70]
mov eax, dword [esp + 0x3c]
inc ebx
add esi, 4
add edi, 0x25
add ebp, 0x14
dec eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], eax
jne 0x4189ea
mov eax, dword [0x8ff714]
push 1
push 0x11
push eax
mov edx, dword [eax]
call dword [edx + 0x58]
mov edi, 0xe1
mov ebx, 0x447321
mov ebp, 0x593ea0
mov esi, 0x4472bc
cmp byte [ebx], 0
je 0x418bb4
fld dword [esi]
fmul qword [0x43e5e8]
call fcn.00433960
fld dword [esi]
fmul qword [0x43e5e0]
push eax
call fcn.00433960
push eax
push ebp
push 0x5d3c60
push 0x4861f0
call fcn.00433bbe
push 0xffffffffffffffff
push 1
push 0x445058
push edi
push 0x10e
push 0x4861f0
call fcn.004095c0
add esp, 0x2c
add edi, 0x25
inc ebx
add esi, 4
add ebp, 0x20
cmp di, 0x209
jb 0x418b67
xor esi, esi
mov edi, 8
lea eax, [esi + 0x4412e8]
push eax
call fcn.004038c0
lea ecx, [esi + 0x441438]
push ecx
call fcn.004038c0
add esp, 8
add esi, 0x2a
dec edi
jne 0x418bcc
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
mov ecx, dword [0x486b10]
mov eax, ecx
and eax, 0xff
cmp cl, 2
mov dl, byte [eax + 0x5d4f76]
mov byte [esp + 0x13], dl
mov dl, byte [0x5d4f79]
mov byte [esp + 0x12], dl
mov dl, byte [0x484e48]
mov byte [esp + 0x14], dl
mov dl, byte [0x484e4a]
mov byte [esp + 0x17], dl
mov dl, byte [0x484e73]
mov byte [esp + 0x18], dl
mov byte [0x484e73], 0
sete dl
test cl, cl
setne cl
sub eax, ebp
mov byte [0x5d4f79], dl
mov byte [0x484e4a], cl
je 0x418c73
dec eax
je 0x418c6a
dec eax
jne 0x418c7a
mov byte [0x484e48], 2
jmp 0x418c7a
mov byte [0x484e48], 1
jmp 0x418c7a
mov byte [0x484e48], 0
push 0x43550000
push 0x44320000
push 0x43390000
push 0x42b00000
call fcn.0041d170
add esp, 0x10
mov esi, 0x441588
mov edi, 3
push esi
call fcn.004038c0
add esp, 4
add esi, 0x2a
dec edi
jne 0x418ca0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
mov edx, dword [0x486b10]
mov eax, dword [esp + 0x30]
and edx, 0xff
mov cl, al
and cl, 3
mov byte [edx + 0x5d4f76], al
sar ax, 2
movsx bx, al
mov word [esp + 0x1c], ax
lea eax, [ebx + ebx*4]
movsx bp, cl
shl eax, 5
add eax, 0xd7
lea ecx, [ebp + ebp*4]
and eax, 0xffff
shl ecx, 5
mov dword [esp + 0x48], eax
add eax, 0x9c
add ecx, 0x58
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
and ecx, 0xffff
mov dword [esp + 0x40], ecx
push ecx
add ecx, 0x90
fstp dword [esp]
mov dword [esp + 0x50], ecx
push ecx
fild dword [esp + 0x54]
fstp dword [esp]
fild dword [esp + 0x50]
push ecx
fstp dword [esp]
fild dword [esp + 0x4c]
push ecx
fstp dword [esp]
call fcn.0041d170
mov edx, dword [0x486b10]
mov eax, dword [esp + 0x3c]
and edx, 0xff
lea eax, [eax + edx*8]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*4]
lea eax, [edx*2 + 0x441608]
push eax
call fcn.004038c0
mov dword [esp + 0x48], 0
add esp, 0x14
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], 0x446f58
mov ecx, dword [esp + 0x28]
mov esi, dword [0x486b10]
and esi, 0xff
mov dl, byte [ecx]
mov cl, al
mov byte [esp + 0x44], dl
mov edx, dword [esp + 0x2c]
lea edi, [esi*8]
and ecx, 3
sar ax, 2
cmp byte [edi + edx + 0x447349], 0
je 0x418e9a
mov dl, byte [esp + 0x30]
and ecx, 0xffff
and edx, 3
and eax, 0xffff
push 1
lea edx, [edx + edx*4]
lea ecx, [edx + ecx - 9]
mov dword [esp + 0x50], ecx
movsx ecx, byte [esp + 0x20]
fild dword [esp + 0x50]
fst dword [esp + 0x4c]
lea edx, [ecx + ecx*4]
xor ecx, ecx
mov cl, byte [esi + 0x5d4f76]
lea eax, [edx + eax - 5]
add ecx, edi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
fild dword [esp + 0x50]
and eax, 0xff
shl ecx, 4
fadd qword [0x43e5d8]
mov dl, byte [ecx + eax + 0x446fb0]
mov al, byte [eax + 0x446f38]
mov cl, byte [esp + 0x48]
mov byte [0x5df474], dl
mov byte [0x5df472], al
mov byte [0x5df46c], cl
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
fstp dword [0x5dee38]
mov dword [0x5dee3c], edx
call fcn.0042bc90
fld dword [esp + 0x44]
fmul dword [0x43e200]
add esp, 4
fadd dword [0x43e5d4]
push DirectSoundCreate
push DirectSoundCreate
push 0x41800000
push ecx
fstp dword [esp]
fld dword [esp + 0x58]
fmul dword [0x43e200]
push ecx
fadd dword [0x43e5d0]
fstp dword [esp]
call fcn.0040bac0
push 2
push 0x16
call fcn.00424810
add esp, 0x1c
jmp 0x418f38
lea ecx, [ecx + ebp*4]
mov esi, ebp
lea edx, [eax + ebx*4]
mov edi, ebx
add esi, ecx
add edi, edx
shl esi, 5
shl edi, 5
push 1
add esi, 0x70
add edi, 0xfb
call fcn.0042bc90
add esp, 4
and edi, 0xffff
mov dword [esp + 0x4c], edi
and esi, 0xffff
fild dword [esp + 0x4c]
push DirectSoundCreate
push DirectSoundCreate
push 0x41300000
push ecx
mov dword [esp + 0x58], esi
fstp dword [esp]
fild dword [esp + 0x58]
push ecx
fstp dword [esp]
call fcn.0040bac0
push 2
call fcn.0042bc90
add esp, 0x18
add edi, 5
mov dword [esp + 0x4c], edi
add esi, 3
fild dword [esp + 0x4c]
push 0xff000000
push 0xff202020
push 0x41300000
push ecx
mov dword [esp + 0x5c], esi
fstp dword [esp]
fild dword [esp + 0x5c]
push ecx
fstp dword [esp]
call fcn.0040bb90
add esp, 0x14
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
inc eax
inc edx
cmp ax, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edx
jl 0x418d80
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
inc eax
inc edx
cmp ax, 8
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
jl 0x418cb7
mov ecx, dword [0x486b10]
mov al, byte [esp + 0x12]
mov dl, byte [esp + 0x13]
and ecx, 0xff
mov byte [0x5d4f79], al
mov al, byte [esp + 0x14]
mov byte [ecx + 0x5d4f76], dl
mov cl, byte [esp + 0x17]
mov dl, byte [esp + 0x18]
mov byte [0x484e48], al
mov byte [0x484e4a], cl
mov byte [0x484e73], dl
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
push 0x80ffffff
push 0x80ffffff
push 0x80ffffff
push 0x80ffffff
push 1
push 0x44160000
xor ebx, ebx
push 0x44480000
push ebx
push ebx
call fcn.0040b1c0
push 0xff808080
push 4
push 0x442058
push 0x78
push 0x190
push 0x5d3ce0
call fcn.004095c0
mov edi, 0x5b6bf2
add esp, 0x3c
mov dword [esp + 0x34], ebx
mov esi, 0x3c
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], 0x32
mov dword [esp + 0x2c], 0x5b6c20
fild dword [esp + 0x30]
push 0x40000000
push 0x40000000
push 0x40000000
push 0x40000000
fstp dword [esp + 0x5c]
mov ebp, dword [esp + 0x5c]
push 1
push 0x43a00000
push 0x43200000
push 0x43340000
push ebp
call fcn.0040b1c0
push 0xffffffffffffffff
push 0x43a00000
push 0x43200000
push 0x43340000
push ebp
call fcn.0040a890
push 0xffc0c0c0
push 1
push 0x443858
push 0xbe
lea eax, [edi - 0x32]
push esi
push eax
call fcn.004095c0
add esp, 0x50
push 0xffffffffffffffff
push 1
push 0x445058
push 0xd7
push esi
push edi
call fcn.004095c0
mov ecx, dword [esp + 0x44]
add esp, 0x18
xor edi, edi
cmp byte [ecx], 0
je 0x41914a
mov ebp, 0x104
cmp word [0x486b04], 0
je 0x419106
mov eax, dword [esp + 0x34]
xor edx, edx
mov dx, word [0x4861e6]
cmp eax, edx
jne 0x419106
movsx eax, di
xor ecx, ecx
mov cx, word [0x486afe]
cmp eax, ecx
jne 0x419106
add eax, ebx
push 0xff000000
push 1
push 0x445058
lea edx, [eax + eax*2]
push ebp
shl edx, 4
add edx, 0x5b6c23
push esi
push edx
jmp 0x419125
movsx eax, di
add eax, ebx
push DirectSoundCreate
push 0x40
push 0x445058
lea eax, [eax + eax*2]
push ebp
shl eax, 4
add eax, 0x5b6c23
push esi
push eax
call fcn.004095c0
add esp, 0x18
inc edi
movsx eax, di
add eax, ebx
add ebp, 0x14
lea ecx, [eax + eax*2]
shl ecx, 4
mov al, byte [ecx + 0x5b6c20]
test al, al
jne 0x4190bc
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x44]
add esi, 0xaf
inc ecx
add eax, 0xaf
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2c]
add edi, 0x240
add ebx, 0xc
add ecx, 0x240
cmp si, 0x2f8
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x2c], ecx
jb 0x419024
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
push 0x80ffffff
push 0x80ffffff
push 0x80ffffff
push 0x80ffffff
push 1
push 0x44160000
push 0x44480000
push ebp
push ebp
call fcn.0040b1c0
xor eax, eax
push 0xff808080
mov ax, word [0x4861e6]
push 4
push 0x442058
push 0x78
lea edx, [eax + eax*2]
xor eax, eax
mov ax, word [0x486afe]
push 0x190
lea eax, [eax + edx*4]
lea ecx, [eax + eax*2]
shl ecx, 4
add ecx, 0x5b6c23
push ecx
call fcn.004095c0
mov edx, dword [0x4861e4]
add esp, 0x3c
cmp dx, bp
je 0x419245
mov dl, byte [0x486b0c]
neg dl
sbb edx, edx
and edx, 0xbfbfbf
add edx, 0xff404040
push edx
push 1
push 0x443858
push 0x1f9
push 0x64
push 0x5d3d60
call fcn.004095c0
mov edx, dword [0x4861e4]
add esp, 0x18
xor eax, eax
mov ax, word [0x4861e6]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
shl ecx, 6
add ecx, eax
lea ecx, [ecx + ecx*2]
shl ecx, 4
movzx ax, byte [ecx + eax + 0x601ab0]
cmp dx, ax
jae 0x4192a7
mov cl, byte [0x486b00]
neg cl
sbb ecx, ecx
and ecx, 0xbfbfbf
add ecx, 0xff404040
push ecx
push 2
push 0x443858
push 0x1f9
push 0x2bc
push 0x5d3de0
call fcn.004095c0
mov edx, dword [0x4861e4]
add esp, 0x18
xor edi, edi
mov esi, 0xaf
jmp 0x4192b6
mov edx, dword [0x4861e4]
xor eax, eax
and edx, 0xffff
mov ax, word [0x4861e6]
imul edx, edx, 0x10e1
lea ecx, [eax + eax*4]
push 0xff000000
push 0x21
push 0x445058
lea ecx, [ecx + ecx*8]
push esi
shl ecx, 6
add ecx, eax
push 0x64
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edi
add ecx, eax
lea edx, [edx + ecx + 0x5dfe80]
push edx
call fcn.004095c0
add esi, 0xc
add esp, 0x18
add edi, 0xa0
cmp si, 0x1f3
jb 0x4192b0
mov eax, dword [0x4861e4]
and eax, 0xffff
inc eax
push eax
push 0x5d3e60
push 0x4861f0
call fcn.00433bbe
push DirectSoundCreate
push 0x44
push 0x445058
push 0x208
push 0x190
push 0x4861f0
call fcn.004095c0
add esp, 0x24
cmp word [0x4861e6], 2
jne case.default.0x4161bf
mov cx, word [0x486afe]
test cx, cx
je case.default.0x4161bf
xor eax, eax
mov ax, cx
mov cl, byte [eax + 0x5b9f2f]
test cl, cl
jne 0x4193b6
push eax
push str.gfxdiag_d.pcx
push 0x4861f0
call fcn.00433bbe
xor ecx, ecx
mov cx, word [0x486afe]
mov edx, dword [ecx*4 + 0x486f88]
push edx
push 0x4861f0
call fcn.0042d800
add esp, 0x14
xor eax, eax
mov ax, word [0x486afe]
mov byte [eax + 0x5b9f2f], 1
mov eax, dword [eax*4 + 0x486f88]
push 0x12c
push 0x100
push 0
push 0
push eax
push 0xb4
push 0x1bc
call fcn.0042e240
push 0x40000000
push 0x40000000
push 0x40000000
push 0x40000000
push 1
push 0x43960000
push 0x40a00000
push 0x43390000
push 0x442f0000
call fcn.0040b1c0
add esp, 0x40
push 0x40000000
push 0x40000000
push 0x40000000
push 0x40000000
push 1
push 0x40a00000
push 0x437b0000
push 0x43f00000
push 0x43e08000
call fcn.0040b1c0
mov ecx, dword [0x570d74]
add esp, 0x24
xor eax, eax
mov ax, word [0x486afe]
push 0xffffffffffffffff
dec eax
push 0
push ecx
mov ecx, eax
sar ecx, 2
push 0x3de80000
and eax, 3
lea ecx, [ecx + ecx*2]
push 0x3e680000
lea edx, [ecx + ecx*4]
lea ecx, [edx + edx + 1]
mov dword [esp + 0x60], ecx
push ecx
fild dword [esp + 0x64]
lea ecx, [eax + eax*2]
fmul qword [0x43e248]
lea edx, [ecx + ecx*4]
shl edx, 2
sub edx, eax
fstp dword [esp]
inc edx
push ecx
mov dword [esp + 0x68], edx
fild dword [esp + 0x68]
fmul qword [0x43e248]
fstp dword [esp]
push 0x41e80000
push 0x42680000
push 0x43340000
push 0x42c80000
call fcn.0040ae20
push 0x40000000
push 0x40000000
push 0x40000000
push 0x40000000
push 1
push 0x41e80000
push 0x43870000
push 0x43340000
push 0x43200000
call fcn.0040b1c0
add esp, 0x50
xor eax, eax
mov ax, word [0x486afe]
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*8]
shl edx, 0xa
lea eax, [edx + 0x475168]
push eax
push 0x5d3ee0
push 0x4861f0
call fcn.00433bbe
push 0xff000000
push 1
push 0x445058
push 0xbe
push 0xaa
push 0x4861f0
call fcn.004095c0
add esp, 0x24
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
mov cl, byte [0x667c40]
mov dl, byte [0x667c41]
push 0x436a0000
push 0x43f00000
push 0x43340000
push 0x42a00000
mov byte [esp + 0x28], cl
mov byte [esp + 0x22], dl
call fcn.0041d170
add esp, 0x10
mov esi, 0x441090
mov edi, 5
push esi
call fcn.004038c0
add esp, 4
add esi, 0x2a
dec edi
jne 0x41957b
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], 0x5b76c0
mov dword [esp + 0x3c], 0x4472bb
mov dword [esp + 0x38], 0x64
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], 0
mov cl, byte [eax + 0x4472b8]
test cl, cl
jbe 0x419a38
fild dword [esp + 0x38]
movzx cx, byte [esp + 0x18]
fstp dword [esp + 0x1c]
mov word [esp + 0x14], cx
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov edi, ebx
xor ecx, ecx
and edi, 0xffff
mov cl, byte [edx]
xor edx, edx
mov dl, byte [esi + 0x4472b8]
lea eax, [edi + edi]
sub eax, edx
inc eax
imul eax, ecx
lea edx, [eax*8]
sub edx, eax
lea eax, [edx + edx + 0x178]
lea edx, [ecx*8]
mov dword [esp + 0x4c], eax
sub edx, ecx
fild dword [esp + 0x4c]
shl edx, 2
mov dword [esp + 0x4c], edx
fstp dword [esp + 0x20]
fild dword [esp + 0x4c]
test bx, bx
fstp dword [esp + 0x24]
jne 0x4196c5
cmp byte [0x484adb], 4
jne 0x419656
mov al, byte [esi + 0x4472b0]
mov byte [esp + 0x48], al
jmp 0x419660
mov cl, byte [esi + 0x4472b4]
mov byte [esp + 0x48], cl
fld dword [esp + 0x1c]
call fcn.00433960
fld dword [esp + 0x20]
fsub dword [0x43e488]
push 0xffffffffffffffff
push 1
mov si, ax
push 0x443858
call fcn.00433960
mov edx, dword [esp + 0x4c]
push eax
push esi
push edx
call fcn.004095c0
fld dword [esp + 0x38]
fsub dword [0x43e1f0]
push 0xffffffffffffffff
push 1
push 0x445058
call fcn.00433960
push eax
mov eax, dword [esp + 0x70]
and eax, 0xff
push esi
shl eax, 5
lea ecx, [eax + 0x595080]
push ecx
call fcn.004095c0
add esp, 0x30
test bl, 1
jne 0x419795
cmp word [esp + 0x2c], 3
jae 0x419795
fld dword [esp + 0x20]
fadd dword [0x43e5cc]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
fstp dword [esp + 0x58]
fld dword [esp + 0x28]
fadd dword [0x43e590]
mov ebp, dword [esp + 0x58]
push ebp
fstp dword [esp + 0x60]
fld dword [esp + 0x2c]
fadd dword [0x43e5c8]
mov esi, dword [esp + 0x60]
push esi
push ebp
fstp dword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
push edx
call fcn.0040b140
fld dword [esp + 0x40]
fadd dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
fadd dword [0x43e5cc]
fstp dword [esp + 0x78]
mov ebx, dword [esp + 0x78]
push ebx
push esi
push ebx
push eax
call fcn.0040b140
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push esi
push ebp
push esi
call fcn.0040b140
fld dword [esp + 0x78]
fmul dword [0x43e2f0]
add esp, 0x54
fadd dword [esp + 0x20]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
fadd dword [0x43e5cc]
fstp dword [esp + 0x5c]
fld dword [esp + 0x28]
mov eax, dword [esp + 0x5c]
fadd dword [0x43e5c4]
push eax
push ecx
fstp dword [esp]
push eax
push esi
call fcn.0040b140
add esp, 0x1c
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x34], 0
add edi, ecx
mov dword [esp + 0x4c], 2
mov dword [esp + 0x5c], edi
lea ebp, [edi*8]
sub ebp, edi
mov dword [esp + 0x50], ebp
lea ebp, [ebp + 0x667b60]
mov ax, word [esp + 0x14]
mov dl, byte [ebp + 2]
mov bl, byte [ebp]
cmp word [esp + 0x2c], ax
mov byte [esp + 0x54], dl
mov byte [esp + 0x58], bl
mov byte [esp + 0x17], 0
jne 0x419826
movzx cx, byte [esp + 0x12]
cmp word [esp + 0x28], cx
jne 0x419826
fild dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
push 0xff200010
push 0xff200010
push 0xff200010
fadd dword [esp + 0x2c]
push 0xff200010
push 2
push 0x41400000
push 0x42f00000
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
push edx
push eax
jmp 0x41985c
fild dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
push 0xff202020
push 0xff202020
push 0xff202020
fadd dword [esp + 0x2c]
push 0xff202020
push 2
push 0x41400000
push 0x42f00000
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
push edx
call fcn.0040b1c0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
and eax, 0xff
and ecx, 0xff
shl eax, 7
add eax, ecx
or ecx, 0xffffffff
add esp, 0x24
lea edx, [eax + eax*8]
lea eax, [eax + edx*8]
lea edi, [eax*8 + 0x4870d8]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4861f0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp bl, 1
rep movsb byte es:[edi], byte [esi]
jne 0x4198e0
mov al, byte [0x484adb]
mov dl, bl
cmp al, 5
jne 0x4198e4
mov edi, 0x447f9b
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4861f0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4198e4
mov dl, byte [esp + 0x17]
cmp byte [ebp], 0
je 0x41992a
test dl, dl
je 0x4198f4
push 0xffffffffffffffff
push 1
jmp 0x4198fe
push 0xff8060ff
push 0x81
fld dword [esp + 0x2c]
push 0x445058
call fcn.00433960
fld dword [esp + 0x28]
fadd dword [0x43e400]
push eax
call fcn.00433960
push eax
push 0x4861f0
call fcn.004095c0
add esp, 0x18
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
inc ebp
add ecx, 0xd
dec eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], eax
jne 0x4197c2
mov ecx, dword [esp + 0x50]
mov al, byte [ecx + 0x667b66]
test al, al
jne 0x419974
mov dx, word [esp + 0x14]
cmp word [esp + 0x2c], dx
jne 0x419a1a
movzx ax, byte [esp + 0x12]
cmp word [esp + 0x28], ax
jne 0x419a1a
mov eax, dword [esp + 0x5c]
xor edx, edx
lea ecx, [esp + 0x60]
push 0xa
lea esi, [eax*8]
push ecx
sub esi, eax
mov dl, byte [esi + 0x667b64]
push edx
call fcn.0043d922
xor ecx, ecx
lea eax, [esp + 0x70]
mov cl, byte [esi + 0x667b65]
push 0xa
push eax
push ecx
call fcn.0043d922
fld dword [esp + 0x34]
fadd dword [0x43e5c0]
call fcn.00433960
fld dword [esp + 0x38]
fadd dword [0x43e20c]
push 0xff8060ff
push 0x82
mov si, ax
push 0x445058
call fcn.00433960
push eax
lea edx, [esp + 0x88]
push esi
push edx
call fcn.004095c0
fld dword [esp + 0x50]
fadd dword [0x43e5f0]
push 0xff8060ff
push 0x82
push 0x445058
call fcn.00433960
push eax
lea eax, [esp + 0xa4]
push esi
push eax
call fcn.004095c0
add esp, 0x48
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
inc eax
movzx dx, byte [ecx + 0x4472b8]
cmp ax, dx
mov dword [esp + 0x28], eax
jb 0x4195db
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
inc eax
add ebp, 0xa0
dec ebx
inc edi
add esi, 0x20
add edx, 8
cmp ax, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edx
jb 0x4195ae
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
push 0x44034000
push 0x442f0000
push 0x433e0000
push 0x42c80000
mov esi, 0xfa
call fcn.0041d170
push 0xffffffffffffffff
push 4
push 0x443858
push 0xcd
push 0x190
push 0x5d3f60
call fcn.004095c0
push 0xffffffffffffffff
push 4
push 0x445058
push 0xe1
push 0x190
push 0x5d3fe0
call fcn.004095c0
add esp, 0x40
push 2
push 0xff202020
push 0xff202020
push 0x43750000
push 0x44228000
push 0x43750000
push 0x43160000
call fcn.0040b140
push 1
push 0x60000000
push 0x60000000
push 0x43740000
push 0x44228000
push 0x43740000
push 0x43160000
call fcn.0040b140
add esp, 0x38
mov ebp, 1
mov ebx, 0x667218
mov dword [esp + 0x4c], 0xa
push ebp
push 0x447c98
push 0x4861f0
call fcn.00433bbe
push 0xffffffffffffffff
push 1
push 0x443858
push esi
push 0x96
push 0x4861f0
call fcn.004095c0
push 0xff8060ff
push 1
push 0x443858
push esi
lea eax, [ebx - 0x58]
push 0xb4
push eax
call fcn.004095c0
push 0xffffffffffffffff
push 1
lea ecx, [esi + 5]
push 0x445058
push ecx
push 0x154
push ebx
call fcn.004095c0
mov edi, esi
add esp, 0x54
and edi, 0xffff
push 2
push 0xff202020
lea edx, [edi + 0x14]
push 0xff202020
mov dword [esp + 0x70], edx
fild dword [esp + 0x70]
fstp dword [esp + 0x70]
mov eax, dword [esp + 0x70]
push eax
push 0x44228000
push eax
push 0x43160000
call fcn.0040b140
add edi, 0x13
push 1
mov dword [esp + 0x84], edi
push 0x60000000
fild dword [esp + 0x88]
push 0x60000000
fstp dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
push eax
push 0x44228000
push eax
push 0x43160000
call fcn.0040b140
mov eax, dword [esp + 0x84]
add esp, 0x38
inc ebp
add ebx, 0xe8
add esi, 0x19
dec eax
mov dword [esp + 0x4c], eax
jne 0x419b48
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
push 0x44034000
push 0x442f0000
push 0x433e0000
push 0x42c80000
mov esi, 0xfa
call fcn.0041d170
push 0xffffffffffffffff
push 4
push 0x443858
push 0xcd
push 0x190
push 0x5d4060
call fcn.004095c0
push 0xffffffffffffffff
push 4
push 0x445058
push 0xe1
push 0x190
push 0x5d40e0
call fcn.004095c0
add esp, 0x40
push 2
push 0xff202020
push 0xff202020
push 0x43750000
push 0x44228000
push 0x43750000
push 0x43160000
call fcn.0040b140
push 1
push 0x60000000
push 0x60000000
push 0x43740000
push 0x44228000
push 0x43740000
push 0x43160000
call fcn.0040b140
add esp, 0x38
mov ebp, 1
mov ebx, 0x5df5b8
mov dword [esp + 0x4c], 0xa
push ebp
push 0x447c98
push 0x4861f0
call fcn.00433bbe
push 0xffffffffffffffff
push 1
push 0x443858
push esi
push 0x96
push 0x4861f0
call fcn.004095c0
push 0xff8060ff
push 1
push 0x443858
push esi
lea eax, [ebx - 0x58]
push 0xb4
push eax
call fcn.004095c0
push 0xffffffffffffffff
push 1
lea ecx, [esi + 5]
push 0x445058
push ecx
push 0x154
push ebx
call fcn.004095c0
mov edi, esi
add esp, 0x54
and edi, 0xffff
push 2
push 0xff202020
lea edx, [edi + 0x14]
push 0xff202020
mov dword [esp + 0x70], edx
fild dword [esp + 0x70]
fstp dword [esp + 0x70]
mov eax, dword [esp + 0x70]
push eax
push 0x44228000
push eax
push 0x43160000
call fcn.0040b140
add edi, 0x13
push 1
mov dword [esp + 0x84], edi
push 0x60000000
fild dword [esp + 0x88]
push 0x60000000
fstp dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
push eax
push 0x44228000
push eax
push 0x43160000
call fcn.0040b140
mov eax, dword [esp + 0x84]
add esp, 0x38
inc ebp
add ebx, 0xe8
add esi, 0x19
dec eax
mov dword [esp + 0x4c], eax
jne 0x419d01
call fcn.00425f30
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret