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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
mov edx, dword [esp + 0xc]
push 0x7d30b6
push eax
mov dword fs:[0], esp
sub esp, 0x194
test edx, edx
push ebx
push ebp
push esi
push edi
mov ebx, ecx
jne 0x63bfc0
xor al, al
jmp 0x63d7e5
mov ecx, dword [0x9ea1d4]
mov eax, dword [ecx + 0x310]
cmp eax, 4
je 0x63bfd6
cmp eax, 5
jne 0x63bfdd
xor al, al
jmp 0x63d7e5
mov eax, dword [edx]
mov esi, dword [esp + 0x1b4]
cmp eax, 0x7a146
jne 0x63c060
cmp esi, 0xffffffff
mov dword [ebx + 0xdc], esi
je 0x63c001
cmp esi, 0xfffffffe
jne 0x63c0ec
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00404e60
lea ecx, [esp + 0x18]
mov dword [esp + 0x1ac], 0
push ecx
push 0x1dc0
call fcn.00709cc0
mov ecx, dword [ebx + 0x18]
add esp, 8
lea edx, [esp + 0x18]
push 0xffffff00
push edx
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp eax, 0x7a513
jne 0x63c0d6
cmp esi, 0xffffffff
mov dword [ebx + 0xdc], esi
je 0x63c077
cmp esi, 0xfffffffe
jne 0x63c0ec
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00404e60
lea ecx, [esp + 0x18]
mov dword [esp + 0x1ac], 1
push ecx
push 0x1e00
call fcn.00709cc0
mov ecx, dword [ebx + 0x18]
add esp, 8
lea edx, [esp + 0x18]
push 0xffffff00
push edx
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp eax, 0x1fbdd
je 0x63e110
cmp eax, 0x1fbde
je 0x63e110
mov eax, dword [edx + 0x8c]
mov edi, 6
cmp eax, edi
jne 0x63c1aa
mov eax, dword [edx]
mov esi, dword [ebx + 0x2c]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x4c]
push ecx
push edx
lea ecx, [esi + 0x14]
mov dword [esp + 0x1c], eax
call fcn.00482ef0
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x4c]
cmp eax, esi
je 0x63c1a3
add eax, 0x10
test eax, eax
je 0x63c1a3
mov eax, dword [eax + 0x88]
test eax, eax
je 0x63c1a3
mov ecx, dword [0x9ea1d4]
cmp dword [ecx + 0x4e4], eax
je 0x63c1a3
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00404e60
lea eax, [esp + 0x18]
mov dword [esp + 0x1ac], 5
push eax
push 0x773
call fcn.00709cc0
add esp, 8
lea ecx, [esp + 0x18]
push 0xffff0000
push ecx
mov ecx, dword [ebx + 0x18]
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov edx, dword [esp + 0x1b8]
cmp dword [edx + 0x5c], 0xf0
jne 0x63c2d0
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x40]
mov byte [esp + 0x40], dl
call fcn.00404e60
lea eax, [esp + 0x3c]
mov dword [esp + 0x1ac], edi
push eax
push 0x1132
call fcn.00709cc0
mov ecx, dword [esp + 0x1c0]
add esp, 8
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63c1f6
mov eax, 0x7e5658
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x63c203
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x158]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x154]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63c270
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x154]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffffff00
push eax
mov byte [esp + 0x1b4], 7
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 6
call fcn.00404e60
mov ecx, dword [0x9ebad0]
push 0
push ecx
call fcn.007649c0
add esp, 8
mov byte [ebx + 0x1a8], 1
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1ac], 0xffffffff
push 1
call fcn.00404e60
jmp 0x63d7e3
lea edx, [esp + 0x1b8]
lea ebp, [ebx + 0x78]
lea eax, [esp + 0x50]
push edx
push eax
mov ecx, ebp
call fcn.006483a0
mov eax, dword [ebx + 0x7c]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x1b8]
cmp ecx, eax
je 0x63c316
fild dword [esi + 0x7c]
fmul dword [0x7e63a0]
fcomp dword [esi + 0x80]
fnstsw ax
test ah, 0x41
jne 0x63c316
xor al, al
jmp 0x63d7e5
mov eax, dword [esi]
cmp eax, 0x77a80
je 0x63c34d
cmp eax, 0x77a81
je 0x63c34d
cmp eax, 0x77a82
je 0x63c34d
cmp eax, 0x77a83
je 0x63c34d
cmp eax, 0x77a84
je 0x63c34d
cmp eax, 0x77a85
je 0x63c34d
cmp eax, 0x77a86
jne 0x63c3d2
mov edi, 0x77a80
mov esi, dword [0x9ea150]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x38]
push ecx
push edx
lea ecx, [esi + 0x14]
mov dword [esp + 0x54], edi
call fcn.00648410
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x38]
cmp eax, esi
jne 0x63c37d
xor eax, eax
jmp 0x63c380
add eax, 0x10
test eax, eax
mov dword [esp + 0x14], eax
je 0x63c3c2
lea eax, [esp + 0x14]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, ebp
call fcn.006483a0
mov eax, dword [ebx + 0x7c]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
je 0x63c3c2
mov eax, dword [esp + 0x14]
fild dword [eax + 0x7c]
fmul dword [0x7e63a0]
fcomp dword [eax + 0x80]
fnstsw ax
test ah, 0x41
je 0x63c54a
inc edi
cmp edi, 0x77a86
jle 0x63c352
mov esi, dword [esp + 0x1b8]
mov edi, dword [0x9ea1d4]
mov al, byte [edi + 0x4fc]
test al, al
jne 0x63c8c8
cmp dword [edi + 0x500], 0xffffffff
jne 0x63c8c8
mov ecx, dword [esi + 0x38]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 0xb
je 0x63c41f
cmp edx, 0xc
je 0x63c41f
cmp edx, 0xd
je 0x63c41f
cmp edx, 0xe
jne 0x63d476
mov eax, ecx
mov ecx, 0xa
cdq
idiv ecx
cmp edx, 1
je 0x63c662
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00404e60
lea eax, [esp + 0x28]
mov dword [esp + 0x1ac], 0xa
push eax
push 0xfa4
call fcn.00709cc0
mov cl, byte [0x870c08]
xor eax, eax
mov byte [esp + 0x5c], cl
mov ecx, 0x3f
lea edi, [esp + 0x5d]
mov edx, dword [esp + 0x1c0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [edx + 0x18]
add esp, 8
test eax, eax
jne 0x63c48f
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63c49c
mov ecx, 0x7e5658
push eax
lea eax, [esp + 0x58]
push ecx
push eax
call fcn.007a3155
mov cl, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63c500
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0xb
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0xa
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00404e60
lea eax, [esp + 0x28]
mov dword [esp + 0x1ac], 8
push eax
push 0xfa4
call fcn.00709cc0
mov cl, byte [0x870c08]
xor eax, eax
mov byte [esp + 0x5c], cl
mov ecx, 0x3f
lea edi, [esp + 0x5d]
mov edx, dword [esp + 0x1c0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [edx + 0x18]
add esp, 8
test eax, eax
jne 0x63c5a7
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63c5b4
mov ecx, 0x7e5658
push eax
lea eax, [esp + 0x58]
push ecx
push eax
call fcn.007a3155
mov cl, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63c618
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 9
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 8
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov ecx, dword [esi]
mov eax, dword [edi + 0x914]
cmp ecx, 0x6ddd5
jne 0x63c7a8
cmp eax, 0x3d
je 0x63d476
cmp eax, 0x3e
je 0x63d476
cmp eax, 0x3f
je 0x63d476
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 0xc
push edx
push 0xfa4
call fcn.00709cc0
mov al, byte [0x870c08]
mov ecx, 0x3f
mov byte [esp + 0x5c], al
xor eax, eax
lea edi, [esp + 0x5d]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1b8]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63c6ed
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63c6fa
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63c75e
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0xd
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0xc
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp eax, 0x1e
je 0x63d476
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 0xe
push edx
push 0xfa4
call fcn.00709cc0
mov al, byte [0x870c08]
mov ecx, 0x3f
mov byte [esp + 0x5c], al
xor eax, eax
lea edi, [esp + 0x5d]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1b8]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63c80d
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63c81a
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63c87e
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0xf
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0xe
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov ecx, dword [esi + 0x38]
mov eax, 0x66666667
imul ecx
mov eax, dword [edi + 0x500]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp eax, 0x753a
jne 0x63ccb5
cmp edx, 0xb
je 0x63ca0e
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00404e60
lea eax, [esp + 0x28]
mov dword [esp + 0x1ac], 0x10
push eax
push 0xfa4
call fcn.00709cc0
mov cl, byte [0x870c08]
xor eax, eax
mov byte [esp + 0x5c], cl
mov ecx, 0x3f
lea edi, [esp + 0x5d]
mov edx, dword [esp + 0x1c0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [edx + 0x18]
add esp, 8
test eax, eax
jne 0x63c953
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63c960
mov ecx, 0x7e5658
push eax
lea eax, [esp + 0x58]
push ecx
push eax
call fcn.007a3155
mov cl, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63c9c4
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0x11
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x10
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov eax, dword [esi]
mov ecx, dword [edi + 0x914]
cmp eax, 0x77a80
je 0x63cb83
cmp eax, 0x77a81
je 0x63cb83
cmp eax, 0x77a82
je 0x63cb83
cmp eax, 0x77a83
je 0x63cb83
cmp eax, 0x77a84
je 0x63cb83
cmp eax, 0x77a85
je 0x63cb83
cmp eax, 0x77a86
je 0x63cb83
cmp ecx, 0x1e
je 0x63d31d
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 0x14
push edx
push 0xfa4
call fcn.00709cc0
mov al, byte [0x870c08]
mov ecx, 0x3f
mov byte [esp + 0x5c], al
xor eax, eax
lea edi, [esp + 0x5d]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1b8]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63cac8
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63cad5
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63cb39
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0x15
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x14
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp ecx, 0x3d
je 0x63d31d
cmp ecx, 0x3e
je 0x63d31d
cmp ecx, 0x3f
je 0x63d31d
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 0x12
push edx
push 0xfa4
call fcn.00709cc0
mov al, byte [0x870c08]
mov ecx, 0x3f
mov byte [esp + 0x5c], al
xor eax, eax
lea edi, [esp + 0x5d]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1b8]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63cbfa
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63cc07
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63cc6b
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0x13
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x12
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp eax, 0x7558
jne 0x63d0aa
cmp edx, 0xc
je 0x63cde0
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 0x16
push edx
push 0xfa4
call fcn.00709cc0
mov al, byte [0x870c08]
mov ecx, 0x3f
mov byte [esp + 0x5c], al
xor eax, eax
lea edi, [esp + 0x5d]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1b8]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63cd25
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63cd32
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63cd96
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0x17
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x16
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov esi, dword [0x9ea1d0]
mov edi, dword [esp + 0x1b4]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x38]
push ecx
push edx
lea ecx, [esi + 0x28]
mov dword [esp + 0x44], edi
call fcn.00560760
mov esi, dword [esi + 0x2c]
mov eax, dword [esp + 0x38]
cmp eax, esi
je 0x63cf50
mov eax, dword [eax + 0x10]
test eax, eax
je 0x63cf50
cmp dword [eax + 0x310], 5
je 0x63cf50
mov ecx, dword [eax + 0x490]
test ecx, ecx
jne 0x63cf50
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], al
call fcn.00404e60
lea ecx, [esp + 0x28]
mov dword [esp + 0x1ac], 0x18
push ecx
push 0xfa4
call fcn.00709cc0
mov dl, byte [0x870c08]
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x5d]
mov byte [esp + 0x5c], dl
add esp, 8
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x1b8]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x63ce95
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63cea2
mov ecx, 0x7e5658
push eax
push ecx
lea ecx, [esp + 0x5c]
push ecx
call fcn.007a3155
mov dl, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], dl
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63cf06
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
lea ecx, [esp + 0x18]
push 0xffff3b3b
push ecx
mov ecx, dword [ebx + 0x18]
mov byte [esp + 0x1b4], 0x19
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x18
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov esi, dword [0x9ea1d0]
lea edx, [esp + 0x3c]
lea eax, [esp + 0x38]
push edx
push eax
lea ecx, [esi + 0x38]
mov dword [esp + 0x44], edi
call fcn.00482da0
mov esi, dword [esi + 0x3c]
mov eax, dword [esp + 0x38]
cmp eax, esi
je 0x63d310
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x310], 5
je 0x63d310
test eax, eax
je 0x63d310
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 0x1a
push edx
push 0xfa4
call fcn.00709cc0
mov al, byte [0x870c08]
mov ecx, 0x3f
mov byte [esp + 0x5c], al
xor eax, eax
lea edi, [esp + 0x5d]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1b8]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63cfef
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63cffc
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63d060
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00405070
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1b4], 0x1b
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x1a
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp eax, 0x756c
je 0x63d1ed
cmp eax, 0x756d
je 0x63d1ed
cmp eax, 0x7562
jne 0x63d31d
cmp edx, 0xe
je 0x63d31d
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 0x1e
push edx
push 0xfa4
call fcn.00709cc0
mov al, byte [0x870c08]
mov ecx, 0x3f
mov byte [esp + 0x5c], al
xor eax, eax
lea edi, [esp + 0x5d]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1b8]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x63d130
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63d13d
mov ecx, 0x7e5658
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.007a3155
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63d1a3
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
lea ecx, [esp + 0x18]
push 0xffff3b3b
push ecx
mov ecx, dword [ebx + 0x18]
mov byte [esp + 0x1b4], 0x1f
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x1e
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp edx, 0xd
je 0x63d31d
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00404e60
lea eax, [esp + 0x28]
mov dword [esp + 0x1ac], 0x1c
push eax
push 0xfa4
call fcn.00709cc0
mov cl, byte [0x870c08]
xor eax, eax
mov byte [esp + 0x5c], cl
mov ecx, 0x3f
lea edi, [esp + 0x5d]
mov edx, dword [esp + 0x1c0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [edx + 0x18]
add esp, 8
test eax, eax
jne 0x63d253
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63d260
mov ecx, 0x7e5658
push eax
lea eax, [esp + 0x58]
push ecx
push eax
call fcn.007a3155
mov cl, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63d2c6
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
lea ecx, [esp + 0x18]
push 0xffff3b3b
push ecx
mov ecx, dword [ebx + 0x18]
mov byte [esp + 0x1b4], 0x1d
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x1c
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov esi, dword [esp + 0x1b8]
mov edi, dword [0x9ea1d4]
test esi, esi
je 0x63d476
mov ecx, dword [esi + 0x8c]
mov eax, 6
cmp ecx, eax
je 0x63d476
cmp dword [esi + 0x90], eax
je 0x63d476
mov eax, dword [esi + 0x60]
cmp eax, 0x64
jle 0x63d476
cmp dword [edi + 0x500], eax
je 0x63d476
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00404e60
lea eax, [esp + 0x28]
mov dword [esp + 0x1ac], 0x20
push eax
push 0xfa4
call fcn.00709cc0
mov cl, byte [0x870c08]
xor eax, eax
mov byte [esp + 0x5c], cl
mov ecx, 0x3f
lea edi, [esp + 0x5d]
mov edx, dword [esp + 0x1c0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [edx + 0x18]
add esp, 8
test eax, eax
jne 0x63d3b9
mov eax, 0x7e5658
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x63d3c6
mov ecx, 0x7e5658
push eax
lea eax, [esp + 0x58]
push ecx
push eax
call fcn.007a3155
mov cl, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
push 0
call fcn.00404e60
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00401b40
test al, al
je 0x63d42c
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
lea ecx, [esp + 0x18]
push 0xffff3b3b
push ecx
mov ecx, dword [ebx + 0x18]
mov byte [esp + 0x1b4], 0x21
call fcn.006b8210
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b0], 0x20
call fcn.00404e60
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov eax, dword [esi + 0x34]
mov ebp, 3
test eax, eax
jl 0x63d4a8
cmp dword [edi + 0x310], 6
je 0x63d4a1
cmp dword [edi + 0xba0], 0xffffffff
jne 0x63d4a1
cmp byte [edi + 0xb74], 1
jne 0x63d5e9
xor al, al
jmp 0x63d7e5
mov esi, dword [ebx + 0x7c]
mov eax, dword [esi]
cmp eax, esi
je 0x63d501
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x34], 0xffffffff
jne 0x63d4cc
cmp dword [ecx + 0x5c], 1
jne 0x63d4cc
cmp dword [ecx + 0x8c], ebp
je case.0x63d75a.14
mov ecx, dword [eax + 8]
mov edx, dword [0x9e818c]
cmp ecx, edx
je 0x63d4e4
push ecx
call fcn.006495e0
add esp, 4
jmp 0x63d4fd
mov ecx, dword [eax + 4]
cmp eax, dword [ecx + 8]
jne 0x63d4f6
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x63d4ec
cmp dword [eax + 8], ecx
je 0x63d4fd
mov eax, ecx
cmp eax, esi
jne 0x63d4b1
lea edx, [esp + 0x1b8]
lea esi, [ebx + 0x88]
lea eax, [esp + 0x14]
push edx
push eax
mov ecx, esi
call fcn.006491d0
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1b8]
cmp ecx, eax
je 0x63d538
cmp edx, dword [ecx + 0xc]
jb 0x63d538
lea eax, [esp + 0x14]
jmp 0x63d540
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
mov eax, dword [eax]
mov edi, dword [ebx + 0x8c]
cmp eax, edi
je 0x63d5ae
cmp edx, dword [eax + 0xc]
je case.0x63d75a.14
mov ecx, dword [eax + 8]
mov ebp, dword [0x9e818c]
cmp ecx, ebp
je 0x63d574
push ecx
call fcn.006495e0
mov edx, dword [esp + 0x1bc]
add esp, 4
jmp 0x63d58d
mov ecx, dword [eax + 4]
cmp eax, dword [ecx + 8]
jne 0x63d586
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x63d57c
cmp dword [eax + 8], ecx
je 0x63d58d
mov eax, ecx
cmp eax, edi
jne 0x63d54c
fild dword [edx + 0x78]
lea ecx, [esp + 0x1b8]
push ecx
fmul dword [0x7e64a8]
fstp dword [edx + 0x84]
lea edx, [esp + 0x40]
jmp 0x63d5c9
fild dword [edx + 0x78]
lea ecx, [esp + 0x1b8]
push ecx
fmul dword [0x7e64a8]
fstp dword [edx + 0x84]
lea edx, [esp + 0x40]
push edx
mov ecx, esi
call fcn.00647b10
mov eax, dword [esp + 0x1b8]
push 0
push eax
mov ecx, ebx
call fcn.00646950
mov esi, dword [esp + 0x1b8]
test esi, esi
jne 0x63d5f4
xor al, al
jmp 0x63d7e5
mov ecx, dword [esp + 0x1b4]
push esi
push ecx
mov ecx, ebx
call fcn.00639bf0
test al, al
jne 0x63d66b
lea esi, [ebx + 0x88]
lea edx, [esp + 0x1b8]
push edx
mov ecx, esi
call fcn.00649ac0
mov ecx, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp eax, ecx
je 0x63d63c
mov edx, dword [esp + 0x1b8]
mov edi, dword [eax + 0xc]
cmp edx, edi
jb 0x63d63c
lea eax, [esp + 0x3c]
jmp 0x63d644
mov dword [esp + 0x38], ecx
lea eax, [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x8c]
cmp eax, ecx
je 0x63d664
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x63d664
push eax
lea eax, [esp + 0x40]
push eax
mov ecx, esi
call fcn.00647d50
xor al, al
jmp 0x63d7e5
mov ecx, dword [0x9ea1d4]
mov edx, dword [esp + 0x1b4]
push 0
push edx
lea ebp, [ecx + 0x4c8]
mov ecx, dword [ebx + 0x18]
call fcn.0070bb20
mov ecx, dword [0x9ea1d4]
mov esi, eax
mov eax, dword [ebx + 0x1a0]
push 1
mov ecx, dword [ecx + 0x4c8]
push eax
push eax
push ecx
push ecx
mov ecx, dword [0x9eba60]
call fcn.004920e0
xor edi, edi
mov edx, dword [0x9ea1d4]
lea ecx, [edi + 0x7532]
push 1
push ecx
mov eax, dword [edx + 0x4c8]
mov ecx, dword [0x9eba60]
push 0x7532
push eax
push eax
call fcn.004920e0
inc edi
cmp edi, 8
jl 0x63d6b0
mov eax, dword [ebx + 0x1a0]
mov dword [ebx + 0xe4], 0
test eax, eax
jne 0x63d714
mov eax, dword [ebp + 0x1c]
cmp eax, 1
jne 0x63d705
mov dword [ebx + 0x1a0], 0x2737
jmp 0x63d714
cmp eax, 2
jne 0x63d714
mov dword [ebx + 0x1a0], 0x2734
mov ecx, dword [0x9ea1d4]
call fcn.0046cde0
fadd dword [0x7e5668]
test esi, esi
fstp dword [esp + 0x14]
je 0x63d73c
mov ecx, esi
call fcn.0046cde0
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x1b8]
mov eax, dword [ecx + 0x5c]
lea edi, [eax - 1]
cmp edi, 0x1e
ja case.0x63d75a.14
xor edx, edx
mov dl, byte [edi + 0x63e2e4]
jmp dword [edx*4 + 0x63e2ac]
mov eax, dword [ecx]
cmp eax, 0x1b0b6
je 0x63d771
cmp eax, 0x33756
jne 0x63d7ce
lea eax, [esp + 0x13]
lea ecx, [esp + 0x3c]
push eax
push 0x41a00000
push ecx
mov ecx, dword [0x9ea1d4]
mov byte [esp + 0x1f], 0
call fcn.0047ad20
fld dword [esp + 0x3c]
fmul dword [0x7e63a0]
fld dword [esp + 0x40]
fmul dword [0x7e63a0]
mov ecx, dword [esp + 0x1b8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x44]
fmul dword [0x7e63a0]
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x50], edx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fstp dword [ebx + 0x4c]
mov dword [ebx + 0x54], eax
mov edx, dword [0x9ea1d4]
mov eax, dword [edx + 0x4c8]
push eax
push ecx
mov ecx, ebx
call fcn.0063ecf0
mov al, 1
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1a0
ret 8
test esi, esi
je 0x63d7ce
mov ecx, dword [0x9ea1d4]
push esi
call fcn.004804f0
test al, al
jne 0x63d84d
mov ecx, dword [esp + 0x14]
lea edx, [esi + 0x98]
push ecx
mov ecx, dword [edx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, ebx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c8]
push eax
call fcn.0063e5a0
test al, al
jne 0x63db1f
jmp 0x63d7e5
mov ecx, dword [0x9ea1d4]
push esi
call fcn.004804f0
test al, al
je case.0x63d75a.14
mov eax, dword [0x9ea1d4]
mov edx, dword [esp + 0x1b8]
mov ecx, dword [eax + 0x4c8]
push ecx
push edx
jmp 0x63d7dc
test ecx, ecx
je 0x63d89d
cmp dword [ecx], 0x7a146
jne 0x63d89d
mov eax, dword [esp + 0x1b4]
push eax
push ecx
mov ecx, ebx
call fcn.0063ecf0
xor al, al
jmp 0x63d7e5
test esi, esi
je case.0x63d75a.14
mov ecx, dword [0x9ea1d4]
push esi
call fcn.004804f0
test al, al
jne case.0x63d75a.14
mov ecx, dword [esp + 0x14]
lea edx, [esi + 0x98]
push ecx
mov ecx, dword [edx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, ebx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c8]
push eax
call fcn.0063e5a0
test al, al
jne 0x63db1f
jmp 0x63d7e5
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 0x64]
call fcn.0054a860
mov edi, eax
test edi, edi
jne 0x63d916
cmp dword [esp + 0x1b4], 0xffffffff
jne 0x63d916
mov esi, dword [0x9ea1d4]
test esi, esi
mov dword [esp + 0x3c], 0xffffffff
je 0x63d98d
mov edx, dword [ebx + 0x18]
mov eax, dword [esi + 0x4c8]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [edx + 0x64]
push eax
call fcn.00549b80
test eax, eax
jne 0x63d951
mov ecx, dword [0x9ea1d4]
mov eax, dword [esi + 0x4c8]
cmp eax, dword [ecx + 0x4c8]
jne 0x63d98d
mov edx, dword [esp + 0x14]
lea eax, [esi + 0x98]
push edx
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x1c8]
push ecx
mov ecx, ebx
call fcn.0063e5a0
test al, al
jne 0x63e079
jmp 0x63d7e5
test edi, edi
je case.0x63d75a.14
mov cx, word [edi]
mov edx, dword [esp + 0x1b8]
push ecx
push edx
jmp 0x63d7dc
test esi, esi
je case.0x63d75a.14
mov edi, dword [0x9ea1d0]
mov eax, dword [esi + 0x4c8]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x38]
push ecx
push edx
lea ecx, [edi + 0x28]
mov dword [esp + 0x44], eax
call fcn.00560760
mov eax, dword [esp + 0x38]
mov ecx, dword [edi + 0x2c]
cmp eax, ecx
je case.0x63d75a.14
mov eax, dword [eax + 0x10]
test eax, eax
je case.0x63d75a.14
cmp dword [eax + 0x310], 5
je case.0x63d75a.14
mov eax, dword [esp + 0x14]
lea ecx, [esi + 0x98]
push eax
mov eax, dword [ecx]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov edx, dword [esp + 0x1c8]
push edx
mov ecx, ebx
call fcn.0063e5a0
test al, al
jne 0x63db6b
jmp 0x63d7e5
test ecx, ecx
je 0x63dab4
mov edi, dword [ecx + 0x38]
mov eax, 0x66666667
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 0xb
jne 0x63dab4
mov eax, edi
mov edi, 0xa
cdq
idiv edi
cmp edx, 3
jne 0x63dab4
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], 0
push edx
mov edx, dword [esp + 0x40]
sub esp, 0xc
mov dword [esp + 0x50], 0
mov eax, esp
mov dword [esp + 0x54], 0
push ecx
mov ecx, ebx
mov dword [eax], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 8], edx
call fcn.0063e5a0
test al, al
je 0x63d7e5
mov eax, dword [esp + 0x1b8]
push 0xffffffffffffffff
push eax
jmp 0x63d7dc
test esi, esi
je case.0x63d75a.14
mov eax, dword [esi + 0x310]
cmp eax, 4
je case.0x63d75a.14
cmp eax, 5
je case.0x63d75a.14
mov ecx, dword [0x9ea1d4]
push esi
call fcn.004804f0
test al, al
je case.0x63d75a.14
mov ecx, dword [esp + 0x14]
lea edx, [esi + 0x98]
push ecx
mov ecx, dword [edx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, ebx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c8]
push eax
call fcn.0063e5a0
test al, al
je 0x63d7e5
mov ecx, dword [esi + 0x4c8]
mov edx, dword [esp + 0x1b8]
push ecx
push edx
jmp 0x63d7dc
test esi, esi
je case.0x63d75a.14
mov eax, dword [esp + 0x14]
lea edx, [esi + 0x98]
push eax
mov edi, dword [edx]
sub esp, 0xc
mov eax, esp
push ecx
mov ecx, ebx
mov dword [eax], edi
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], edi
mov dword [eax + 8], edx
call fcn.0063e5a0
test al, al
je 0x63d7e5
mov eax, dword [esi + 0x4c8]
mov ecx, dword [esp + 0x1b8]
push eax
jmp 0x63d7db
mov edx, dword [0x9ea1d4]
sub esp, 0xc
add edx, 0x98
mov eax, esp
push ecx
mov ecx, ebx
mov esi, dword [edx]
mov dword [eax], esi
mov esi, dword [edx + 4]
mov dword [eax + 4], esi
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
call fcn.0063e950
jmp 0x63d7e3
test esi, esi
je 0x63d7ce
mov eax, dword [esi + 0x4c8]
jmp 0x63d7da
mov dword [ebx + 0xe4], 1
mov edx, dword [ecx]
mov dword [ebx + 0xe8], edx
mov eax, dword [0x7e565c]
mov ebp, ecx
push eax
add ecx, 4
push 0
push ecx
lea ecx, [ebx + 0xec]
call fcn.00404c60
mov ecx, dword [0x7e565c]
lea edx, [ebp + 0x14]
push ecx
push 0
push edx
lea ecx, [ebx + 0xfc]
call fcn.00404c60
mov eax, dword [ebp + 0x2c]
mov ecx, dword [0x7e565c]
mov edi, eax
lea esi, [ebx + 0x10c]
cmp ecx, edi
mov dword [esp + 0x14], edi
jae 0x63dc21
mov edi, ecx
mov dword [esp + 0x14], edi
lea edx, [ebp + 0x24]
cmp esi, edx
jne 0x63dca0
mov eax, dword [esi + 8]
mov dword [esp + 0x14], ecx
cmp eax, edi
jae 0x63dc38
call fcn.007a0437
mov ecx, esi
call fcn.004050a0
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
sub eax, edi
cmp eax, ecx
jae 0x63dc50
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
test ecx, ecx
jbe 0x63dc90
mov ecx, dword [esi + 4]
add edi, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
lea edx, [edi + ecx]
push eax
push edx
push edi
call fcn.007a2e20
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x20]
add esp, 0xc
sub edi, ecx
mov ecx, esi
push 0
push edi
call fcn.00401b40
test al, al
je 0x63dc90
push edi
mov ecx, esi
call fcn.00405070
push 0
push 0
mov ecx, esi
call fcn.00404f50
jmp 0x63dd2c
test edi, edi
jbe 0x63dce8
cmp edi, eax
jne 0x63dce8
mov eax, dword [edx + 4]
test eax, eax
jne 0x63dcb4
mov eax, 0x7e5658
cmp byte [eax - 1], 0xfe
jae 0x63dce8
push 1
mov ecx, esi
call fcn.00404e60
mov eax, dword [ebp + 0x28]
test eax, eax
jne 0x63dccf
mov eax, 0x7e5658
mov dword [esi + 4], eax
mov ecx, dword [ebp + 0x2c]
mov dword [esi + 8], ecx
mov edx, dword [ebp + 0x30]
mov dword [esi + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x63dd2c
push 1
push edi
mov ecx, esi
call fcn.00401b40
test al, al
je 0x63dd2c
mov esi, dword [ebp + 0x28]
test esi, esi
jne 0x63dd02
mov esi, 0x7e5658
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 0x110]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x110]
mov dword [ebx + 0x114], eax
mov byte [ecx + eax], 0
mov edx, dword [ebp + 0x34]
push 0
mov dword [ebx + 0x11c], edx
mov eax, dword [ebp + 0x38]
mov dword [ebx + 0x120], eax
mov ecx, dword [ebp + 0x3c]
mov dword [ebx + 0x124], ecx
mov edx, dword [ebp + 0x40]
mov dword [ebx + 0x128], edx
mov eax, dword [ebp + 0x44]
mov dword [ebx + 0x12c], eax
mov ecx, dword [ebp + 0x48]
mov dword [ebx + 0x130], ecx
mov edx, dword [ebp + 0x4c]
mov dword [ebx + 0x134], edx
mov eax, dword [ebp + 0x50]
mov dword [ebx + 0x138], eax
mov ecx, dword [ebp + 0x54]
mov dword [ebx + 0x13c], ecx
mov edx, dword [ebp + 0x58]
mov dword [ebx + 0x140], edx
mov eax, dword [ebp + 0x5c]
mov dword [ebx + 0x144], eax
mov ecx, dword [ebp + 0x60]
mov dword [ebx + 0x148], ecx
mov edx, dword [ebp + 0x64]
mov dword [ebx + 0x14c], edx
mov eax, dword [ebp + 0x68]
mov dword [ebx + 0x150], eax
mov ecx, dword [ebp + 0x6c]
mov dword [ebx + 0x154], ecx
mov edx, dword [ebp + 0x70]
mov dword [ebx + 0x158], edx
mov eax, dword [ebp + 0x74]
mov dword [ebx + 0x15c], eax
mov ecx, dword [ebp + 0x78]
mov dword [ebx + 0x160], ecx
mov edx, dword [ebp + 0x7c]
mov dword [ebx + 0x164], edx
mov eax, dword [ebp + 0x80]
mov dword [ebx + 0x168], eax
mov ecx, dword [ebp + 0x84]
mov dword [ebx + 0x16c], ecx
mov edx, dword [ebp + 0x88]
mov dword [ebx + 0x170], edx
mov eax, dword [ebp + 0x8c]
mov dword [ebx + 0x174], eax
mov ecx, dword [ebp + 0x90]
mov dword [ebx + 0x178], ecx
mov edx, dword [ebp + 0x94]
mov dword [ebx + 0x17c], edx
mov eax, dword [ebp + 0x98]
mov dword [ebx + 0x180], eax
mov ecx, dword [ebp + 0x9c]
mov dword [ebx + 0x184], ecx
mov eax, dword [ebx + 0x1a0]
mov edx, dword [ebx + 0x18]
push 0xffffffffffffffff
push eax
add edx, 0x298
sub esp, 0xc
mov esi, dword [edx]
mov ecx, esp
push eax
mov eax, dword [0x9ea1d4]
mov dword [ecx], esi
mov esi, dword [edx + 4]
push 0
mov edx, dword [edx + 8]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov ecx, dword [eax + 0x4c8]
push ecx
mov ecx, dword [0x9eba60]
call fcn.00493bd0
mov eax, dword [ebx + 0x1a0]
cmp eax, 0x2737
je 0x63de92
cmp eax, 0x2734
jne 0x63d7e3
mov eax, dword [esp + 0x1b8]
mov ecx, dword [eax + 0x8c]
cmp ecx, 3
jne 0x63df09
mov edi, dword [ebx + 0x24]
mov edx, dword [eax]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edx
lea esi, [edi + 0x14]
push eax
mov ecx, esi
call fcn.00649c70
mov esi, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp eax, esi
je 0x63ded8
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x63ded8
lea eax, [esp + 0x3c]
jmp 0x63dee0
mov dword [esp + 0x38], esi
lea eax, [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
je 0x63dfd2
add eax, 0x10
test eax, eax
je 0x63dfd2
mov edx, dword [eax + 4]
dec edx
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
jmp 0x63dfc9
cmp ecx, 4
jne 0x63df68
mov edi, dword [ebx + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ecx
lea esi, [edi + 0x14]
push edx
mov ecx, esi
call fcn.0059b3e0
mov esi, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp eax, esi
je 0x63df42
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x63df42
lea eax, [esp + 0x3c]
jmp 0x63df4a
mov dword [esp + 0x38], esi
lea eax, [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
je 0x63dfd2
add eax, 0x10
test eax, eax
je 0x63dfd2
mov edx, dword [eax + 8]
dec edx
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
jmp 0x63dfc9
cmp ecx, 7
jne 0x63d7e3
mov edi, dword [ebx + 0x30]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ecx
lea esi, [edi + 0x14]
push edx
mov ecx, esi
call fcn.00649cd0
mov esi, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp eax, esi
je 0x63dfa5
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x63dfa5
lea eax, [esp + 0x3c]
jmp 0x63dfad
mov dword [esp + 0x38], esi
lea eax, [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
je 0x63dfd2
add eax, 0x10
test eax, eax
je 0x63dfd2
mov edx, dword [eax + 4]
dec edx
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
mov eax, dword [ebx + 0x18]
fstp dword [eax + 0x304]
xor esi, esi
mov edx, dword [ebx + 0x18]
push 0
lea ecx, [esi + 0x7532]
push 0xffffffffffffffff
push ecx
add edx, 0x298
sub esp, 0xc
mov ecx, dword [edx]
mov eax, esp
push 0x7532
push 0
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [0x9ea1d4]
mov ecx, dword [eax + 0x4c8]
push ecx
mov ecx, dword [0x9eba60]
call fcn.00493bd0
inc esi
cmp esi, 8
jl 0x63dfd4
jmp 0x63d7e3
test esi, esi
je case.0x63d75a.14
mov ecx, dword [0x9ea1d4]
push esi
call fcn.004804f0
test al, al
jne case.0x63d75a.14
mov edx, dword [esp + 0x14]
lea eax, [esi + 0x98]
push edx
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x1c8]
push ecx
mov ecx, ebx
call fcn.0063e5a0
test al, al
je 0x63d7e5
mov edx, dword [esi + 0x4c8]
mov eax, dword [esp + 0x1b8]
push edx
push eax
jmp 0x63d7dc
test esi, esi
je case.0x63d75a.14
mov edx, dword [esp + 0x14]
lea eax, [esi + 0x98]
push edx
mov edi, dword [eax]
sub esp, 0xc
mov edx, esp
push ecx
mov ecx, ebx
mov dword [edx], edi
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 4], edi
mov dword [edx + 8], eax
call fcn.0063e5a0
test al, al
je 0x63d7e5
mov ecx, dword [esi + 0x4c8]
mov edx, dword [esp + 0x1b8]
push ecx
push edx
mov ecx, ebx
call fcn.0063ecf0
xor al, al
jmp 0x63d7e5
test ecx, ecx
je case.0x63d75a.14
mov eax, dword [0x9ea1d4]
sub esp, 0xc
add eax, 0x98
mov edx, esp
push ecx
mov ecx, ebx
mov esi, dword [eax]
mov dword [edx], esi
mov esi, dword [eax + 4]
mov dword [edx + 4], esi
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
call fcn.0063e950
xor al, al
jmp 0x63d7e5
call fcn.00475c50
test al, al
jne 0x63e178
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00404e60
lea edx, [esp + 0x28]
mov dword [esp + 0x1ac], 2
push edx
push 0xfa2
call fcn.00709cc0
mov ecx, dword [ebx + 0x18]
add esp, 8
lea eax, [esp + 0x28]
push 0xffffff00
push eax
call fcn.006b8210
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
mov ecx, dword [esp + 0x1b8]
mov eax, dword [ecx]
cmp eax, 0x1fbdd
jne 0x63e215
mov eax, dword [0x9ea1d4]
mov ecx, dword [eax + 0x310]
test ecx, ecx
jne 0x63e1b6
mov ecx, dword [eax + 0x31c]
test ecx, ecx
jne 0x63e1b6
mov ecx, dword [ebx + 0x18]
push 1
push 4
call fcn.006baeb0
jmp 0x63d7e3
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00404e60
lea eax, [esp + 0x28]
mov dword [esp + 0x1ac], 3
push eax
push 0xfa2
call fcn.00709cc0
add esp, 8
lea ecx, [esp + 0x28]
push 0xffffff00
push ecx
mov ecx, dword [ebx + 0x18]
call fcn.006b8210
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5
cmp eax, 0x1fbde
jne 0x63d7e3
mov eax, dword [0x9ea1d4]
mov ecx, dword [eax + 0x310]
test ecx, ecx
jne 0x63e24a
mov ecx, dword [eax + 0x31c]
test ecx, ecx
jne 0x63e24a
mov ecx, dword [ebx + 0x18]
push 0xb
push 4
call fcn.006baeb0
jmp 0x63d7e3
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00404e60
lea eax, [esp + 0x28]
mov dword [esp + 0x1ac], 4
push eax
push 0xfa2
call fcn.00709cc0
add esp, 8
lea ecx, [esp + 0x28]
push 0xffffff00
push ecx
mov ecx, dword [ebx + 0x18]
call fcn.006b8210
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.00404e60
xor al, al
jmp 0x63d7e5