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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x6971d2
push eax
mov dword fs:[0], esp
sub esp, 0x180
push ebx
push ebp
mov ebp, ecx
push esi
mov ecx, dword [esp + 0x1a0]
push edi
test ecx, ecx
je case.0x582b46.14
mov eax, dword [0x818794]
mov eax, dword [eax + 0x2fc]
cmp eax, 4
je case.0x582b46.14
cmp eax, 5
je case.0x582b46.14
mov eax, dword [ecx]
mov ebx, dword [esp + 0x1a0]
or esi, 0xffffffff
cmp eax, 0x7a146
jne 0x581aac
cmp ebx, esi
mov dword [ebp + 0xdc], ebx
je 0x581a53
cmp ebx, 0xfffffffe
jne 0x581b1b
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.004031c0
lea edx, [esp + 0x18]
mov dword [esp + 0x198], 0
push edx
push 0x1dc0
call fcn.00615080
mov ecx, dword [ebp + 0x18]
add esp, 8
lea eax, [esp + 0x18]
push 0xffffff00
push eax
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x19c], esi
call fcn.004031c0
jmp case.0x582b46.14
cmp eax, 0x7a513
jne 0x581b1b
cmp ebx, esi
mov dword [ebp + 0xdc], ebx
je 0x581ac2
cmp ebx, 0xfffffffe
jne 0x581b1b
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.004031c0
lea edx, [esp + 0x18]
mov dword [esp + 0x198], 1
push edx
push 0x1e00
call fcn.00615080
mov ecx, dword [ebp + 0x18]
add esp, 8
lea eax, [esp + 0x18]
push 0xffffff00
push eax
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x19c], esi
call fcn.004031c0
jmp case.0x582b46.14
cmp dword [ecx + 0x5c], 0xf0
jne 0x581c45
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004031c0
lea edx, [esp + 0x2c]
mov dword [esp + 0x198], 2
push edx
push 0x1132
call fcn.00615080
mov eax, dword [esp + 0x1ac]
add esp, 8
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x581b6b
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x581b78
mov ecx, 0x6a3560
push eax
push ecx
lea ecx, [esp + 0x148]
push ecx
call fcn.0067429f
mov dl, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], dl
push 0
call fcn.004031c0
lea edi, [esp + 0x140]
mov ecx, esi
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x581be7
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x140]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
or esi, 0xffffffff
lea ecx, [esp + 0x18]
push 0xffffff00
push ecx
mov ecx, dword [ebp + 0x18]
mov byte [esp + 0x1a0], 3
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 2
call fcn.004031c0
mov edx, dword [0x818a00]
push 0
push edx
call fcn.00647320
add esp, 8
mov byte [ebp + 0x1a4], 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x198], esi
push 1
call fcn.004031c0
mov al, 1
jmp 0x5834c8
lea eax, [esp + 0x1a4]
lea edx, [esp + 0x3c]
push eax
lea ecx, [ebp + 0x78]
push edx
call fcn.0058c170
mov eax, dword [ebp + 0x7c]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x1a4]
cmp ecx, eax
je 0x581c86
fild dword [edi + 0x7c]
fmul dword [0x6a3ffc]
fcomp dword [edi + 0x80]
fnstsw ax
test ah, 0x41
je case.0x582b46.14
mov esi, dword [0x818794]
mov al, byte [esi + 0x4a8]
test al, al
jne 0x581f1e
cmp dword [esi + 0x4ac], 0xffffffff
jne 0x581f1e
mov ecx, dword [edi + 0x38]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 0xb
je 0x581cd3
cmp edx, 0xc
je 0x581cd3
cmp edx, 0xd
je 0x581cd3
cmp edx, 0xe
jne 0x582808
mov eax, ecx
mov ecx, 0xa
cdq
idiv ecx
cmp edx, 1
je 0x581dfc
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], dl
call fcn.004031c0
lea eax, [esp + 0x2c]
mov dword [esp + 0x198], 4
push eax
push 0xfa4
call fcn.00615080
mov cl, byte [0x6dfe28]
xor eax, eax
mov byte [esp + 0x48], cl
mov ecx, 0x3f
lea edi, [esp + 0x49]
mov edx, dword [esp + 0x1ac]
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 0x581d43
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x581d50
mov ecx, 0x6a3560
push eax
lea eax, [esp + 0x44]
push ecx
push eax
call fcn.0067429f
mov cl, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x581db4
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 5
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 4
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
cmp dword [esi + 0x89c], 0x1e
je 0x582808
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004031c0
lea edx, [esp + 0x2c]
mov dword [esp + 0x198], 6
push edx
push 0xfa4
call fcn.00615080
mov al, byte [0x6dfe28]
mov ecx, 0x3f
mov byte [esp + 0x48], al
xor eax, eax
lea edi, [esp + 0x49]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1a4]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x581e65
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x581e72
mov ecx, 0x6a3560
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0067429f
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x581ed6
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 7
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 6
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
mov ecx, dword [edi + 0x38]
mov eax, 0x66666667
imul ecx
mov eax, dword [esi + 0x4ac]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp eax, 0x753a
jne 0x582062
cmp edx, 0xb
je 0x5826b4
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], dl
call fcn.004031c0
lea eax, [esp + 0x2c]
mov dword [esp + 0x198], 8
push eax
push 0xfa4
call fcn.00615080
mov cl, byte [0x6dfe28]
xor eax, eax
mov byte [esp + 0x48], cl
mov ecx, 0x3f
lea edi, [esp + 0x49]
mov edx, dword [esp + 0x1ac]
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 0x581fa9
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x581fb6
mov ecx, 0x6a3560
push eax
lea eax, [esp + 0x44]
push ecx
push eax
call fcn.0067429f
mov cl, byte [esp + 0x1f]
add esp, 0xc
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x58201a
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 9
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 8
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
cmp eax, 0x7558
jne 0x58244a
cmp edx, 0xc
je 0x58218b
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004031c0
lea edx, [esp + 0x2c]
mov dword [esp + 0x198], 0xa
push edx
push 0xfa4
call fcn.00615080
mov al, byte [0x6dfe28]
mov ecx, 0x3f
mov byte [esp + 0x48], al
xor eax, eax
lea edi, [esp + 0x49]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1a4]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x5820d2
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x5820df
mov ecx, 0x6a3560
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0067429f
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x582143
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 0xb
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 0xa
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
mov edi, dword [0x818790]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x2c]
push ecx
push edx
lea ecx, [edi + 0x28]
mov dword [esp + 0x1c], ebx
call fcn.0046d690
mov edi, dword [edi + 0x2c]
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x5822f2
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x2fc], 5
je 0x5822f2
test eax, eax
je 0x5822f2
mov ecx, dword [eax + 0x450]
test ecx, ecx
jne 0x5822f2
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
call fcn.004031c0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x198], 0xc
push ecx
push 0xfa4
call fcn.00615080
mov dl, byte [0x6dfe28]
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x49]
mov byte [esp + 0x48], dl
add esp, 8
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x1a4]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x582239
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x582246
mov ecx, 0x6a3560
push eax
push ecx
lea ecx, [esp + 0x48]
push ecx
call fcn.0067429f
mov dl, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], dl
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x5822aa
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
lea ecx, [esp + 0x18]
push 0xffff3b3b
push ecx
mov ecx, dword [ebp + 0x18]
mov byte [esp + 0x1a0], 0xd
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 0xc
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
mov edi, dword [0x818790]
lea edx, [esp + 0x14]
lea eax, [esp + 0x2c]
push edx
push eax
lea ecx, [edi + 0x38]
mov dword [esp + 0x1c], ebx
call fcn.0046d620
mov edi, dword [edi + 0x3c]
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x5826a7
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x2fc], 5
je 0x5826a7
test eax, eax
je 0x5826a7
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004031c0
lea edx, [esp + 0x2c]
mov dword [esp + 0x198], 0xe
push edx
push 0xfa4
call fcn.00615080
mov al, byte [0x6dfe28]
mov ecx, 0x3f
mov byte [esp + 0x48], al
xor eax, eax
lea edi, [esp + 0x49]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1a4]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x582391
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x58239e
mov ecx, 0x6a3560
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0067429f
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x582402
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 0xf
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 0xe
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
cmp eax, 0x756c
je 0x582589
cmp eax, 0x756d
je 0x582589
cmp eax, 0x7562
jne 0x5826b4
cmp edx, 0xe
je 0x5826b4
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004031c0
lea edx, [esp + 0x2c]
mov dword [esp + 0x198], 0x12
push edx
push 0xfa4
call fcn.00615080
mov al, byte [0x6dfe28]
mov ecx, 0x3f
mov byte [esp + 0x48], al
xor eax, eax
lea edi, [esp + 0x49]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1a4]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x5824d0
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x5824dd
mov ecx, 0x6a3560
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0067429f
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x582541
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 0x13
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 0x12
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
cmp edx, 0xd
je 0x5826b4
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004031c0
lea edx, [esp + 0x2c]
mov dword [esp + 0x198], 0x10
push edx
push 0xfa4
call fcn.00615080
mov al, byte [0x6dfe28]
mov ecx, 0x3f
mov byte [esp + 0x48], al
xor eax, eax
lea edi, [esp + 0x49]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1a4]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x5825ee
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x5825fb
mov ecx, 0x6a3560
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0067429f
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x58265f
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 0x11
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 0x10
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
mov edi, dword [esp + 0x1a4]
mov esi, dword [0x818794]
test edi, edi
je 0x582808
mov ecx, dword [edi + 0x8c]
mov eax, 6
cmp ecx, eax
je 0x582808
cmp dword [edi + 0x90], eax
je 0x582808
mov eax, dword [edi + 0x60]
cmp eax, 0x64
jle 0x582808
cmp dword [esi + 0x4ac], eax
je 0x582808
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004031c0
lea edx, [esp + 0x2c]
mov dword [esp + 0x198], 0x14
push edx
push 0xfa4
call fcn.00615080
mov al, byte [0x6dfe28]
mov ecx, 0x3f
mov byte [esp + 0x48], al
xor eax, eax
lea edi, [esp + 0x49]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1a4]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x58274f
mov eax, 0x6a3560
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x58275c
mov ecx, 0x6a3560
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0067429f
mov al, byte [esp + 0x1f]
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
push 0
call fcn.004031c0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00403350
test al, al
je 0x5827c0
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00403330
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push 0xffff3b3b
push eax
mov byte [esp + 0x1a0], 0x15
call fcn.005d7250
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x19c], 0x14
call fcn.004031c0
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x19c], 0xffffffff
call fcn.004031c0
jmp case.0x582b46.14
mov eax, dword [edi + 0x34]
mov ebx, 3
test eax, eax
jl 0x582840
cmp dword [esi + 0x2fc], 6
je case.0x582b46.14
cmp dword [esi + 0xb04], 0xffffffff
jne case.0x582b46.14
cmp byte [esi + 0xaf4], 1
jne 0x5829cf
jmp case.0x582b46.14
mov esi, dword [ebp + 0x7c]
mov eax, dword [esi]
cmp eax, esi
mov dword [esp + 0x28], eax
je 0x582879
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x34], 0xffffffff
jne 0x582868
cmp dword [eax + 0x5c], 1
jne 0x582868
cmp dword [eax + 0x8c], ebx
je case.0x582b46.14
lea ecx, [esp + 0x28]
call fcn.0058d420
mov eax, dword [esp + 0x28]
cmp eax, esi
jne 0x58284d
lea ecx, [esp + 0x1a4]
lea esi, [ebp + 0x88]
lea edx, [esp + 0x2c]
push ecx
push edx
mov ecx, esi
call fcn.0058cf30
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1a4]
cmp edx, eax
je 0x5828b0
cmp ecx, dword [edx + 0xc]
jb 0x5828b0
lea eax, [esp + 0x2c]
jmp 0x5828b8
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
mov eax, dword [eax]
mov edi, dword [ebp + 0x8c]
cmp eax, edi
mov dword [esp + 0x14], eax
je 0x58295d
jmp 0x5828d5
mov ecx, dword [esp + 0x1a4]
cmp ecx, dword [eax + 0xc]
je case.0x582b46.14
lea ecx, [esp + 0x14]
call fcn.0058d420
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x5828ce
mov eax, dword [esp + 0x1a4]
lea ecx, [esp + 0x2c]
fild dword [eax + 0x78]
fmul dword [0x6a40d8]
fstp dword [eax + 0x84]
lea eax, [esp + 0x1a4]
push eax
push ecx
mov ecx, esi
call fcn.0058ba10
mov eax, dword [esp + 0x1a4]
test eax, eax
mov dword [esp + 0x2c], eax
je case.0x582b46.14
fild dword [eax + 0x7c]
lea edx, [esp + 0x2c]
lea ecx, [ebp + 0x78]
push edx
fmul dword [0x6a40d8]
fstp dword [eax + 0x80]
lea eax, [esp + 0x1c]
push eax
call fcn.0058ba10
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x70]
test ecx, ecx
je 0x5829c8
mov edx, dword [esp + 0x2c]
jmp 0x5829c2
fild dword [ecx + 0x78]
lea eax, [esp + 0x1a4]
push eax
fmul dword [0x6a40d8]
fstp dword [ecx + 0x84]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.0058ba10
mov eax, dword [esp + 0x1a4]
test eax, eax
mov dword [esp + 0x2c], eax
je case.0x582b46.14
fild dword [eax + 0x7c]
lea edx, [esp + 0x2c]
lea ecx, [ebp + 0x78]
push edx
fmul dword [0x6a40d8]
fstp dword [eax + 0x80]
lea eax, [esp + 0x1c]
push eax
call fcn.0058ba10
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x70]
test ecx, ecx
je 0x5829c8
mov edx, dword [esp + 0x2c]
push edx
call fcn.004e0e40
mov edi, dword [esp + 0x1a4]
test edi, edi
je case.0x582b46.14
mov eax, dword [esp + 0x1a0]
push edi
push eax
mov ecx, ebp
call fcn.0057f7f0
test al, al
jne 0x582a59
lea ecx, [esp + 0x1a4]
lea esi, [ebp + 0x88]
lea edx, [esp + 0x14]
push ecx
push edx
mov ecx, esi
call fcn.0058cf30
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
je 0x582a24
mov edx, dword [esp + 0x1a4]
mov edi, dword [ecx + 0xc]
cmp edx, edi
jb 0x582a24
lea eax, [esp + 0x14]
jmp 0x582a2c
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x8c]
cmp eax, ecx
je case.0x582b46.14
mov ecx, dword [eax + 0xc]
test ecx, ecx
je case.0x582b46.14
push eax
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.0058bc50
jmp case.0x582b46.14
mov ecx, dword [0x818794]
mov edx, dword [esp + 0x1a0]
push 0
push edx
lea ebx, [ecx + 0x474]
mov ecx, dword [ebp + 0x18]
call fcn.006163d0
mov ecx, dword [0x818794]
mov esi, eax
mov eax, dword [ebp + 0x19c]
push 1
mov ecx, dword [ecx + 0x474]
push eax
push eax
push ecx
push ecx
mov ecx, dword [0x818990]
call fcn.0047a710
xor edi, edi
mov edx, dword [0x818794]
lea ecx, [edi + 0x7532]
push 1
push ecx
mov eax, dword [edx + 0x474]
mov ecx, dword [0x818990]
push 0x7532
push eax
push eax
call fcn.0047a710
inc edi
cmp edi, 8
jl 0x582a9e
mov eax, dword [ebp + 0x19c]
mov dword [ebp + 0xe4], 0
test eax, eax
jne 0x582b02
mov eax, dword [ebx + 0x1c]
cmp eax, 1
jne 0x582af3
mov dword [ebp + 0x19c], 0x2737
jmp 0x582b02
cmp eax, 2
jne 0x582b02
mov dword [ebp + 0x19c], 0x2734
mov ecx, dword [0x818794]
call fcn.0045a1d0
fadd dword [0x6a3a64]
test esi, esi
fstp dword [esp + 0x28]
je 0x582b2a
mov ecx, esi
call fcn.0045a1d0
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [ecx + 0x5c]
dec eax
cmp eax, 0x1e
ja case.0x582b46.14
xor edx, edx
mov dl, byte [eax + 0x58351c]
jmp dword [edx*4 + 0x5834e4]
mov eax, dword [0x818794]
mov edx, dword [eax + 0x474]
push edx
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
test esi, esi
jne 0x582b87
mov eax, dword [0x818794]
mov edx, dword [eax + 0x474]
push edx
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
mov ecx, dword [0x818794]
push esi
call fcn.0046c560
test al, al
jne 0x582beb
mov eax, dword [esp + 0x28]
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 + 0x1b4]
push edx
mov ecx, ebp
call fcn.00583780
test al, al
je case.0x582b46.14
mov eax, dword [esi + 0x474]
mov ecx, dword [esp + 0x1a4]
push eax
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
mov ecx, dword [0x818794]
push esi
call fcn.0046c560
test al, al
je case.0x582b46.14
mov edx, dword [0x818794]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [edx + 0x474]
push eax
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
test ecx, ecx
je 0x582c43
cmp dword [ecx], 0x7a146
jne 0x582c43
mov edx, dword [esp + 0x1a0]
push edx
push ecx
mov ecx, ebp
call fcn.00583f20
jmp case.0x582b46.14
test esi, esi
je case.0x582b46.14
mov ecx, dword [0x818794]
push esi
call fcn.0046c560
test al, al
jne case.0x582b46.14
mov eax, dword [esp + 0x28]
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 + 0x1b4]
push edx
mov ecx, ebp
call fcn.00583780
test al, al
je case.0x582b46.14
mov eax, dword [esi + 0x474]
mov ecx, dword [esp + 0x1a4]
push eax
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x68]
call fcn.0051c3a0
mov edi, eax
test edi, edi
jne 0x582cd4
cmp dword [esp + 0x1a0], 0xffffffff
jne 0x582cd4
mov esi, dword [0x818794]
test esi, esi
mov dword [esp + 0x14], 0xffffffff
je 0x582d67
mov edx, dword [ebp + 0x18]
mov eax, dword [esi + 0x474]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edx + 0x68]
push eax
call fcn.0051b9c0
test eax, eax
jne 0x582d13
mov ecx, dword [0x818794]
mov eax, dword [esi + 0x474]
cmp eax, dword [ecx + 0x474]
jne 0x582d67
mov edx, dword [esp + 0x28]
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 + 0x1b4]
push ecx
mov ecx, ebp
call fcn.00583780
test al, al
je case.0x582b46.14
mov edx, dword [esi + 0x474]
mov eax, dword [esp + 0x1a4]
push edx
push eax
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
test edi, edi
je case.0x582b46.14
mov cx, word [edi]
mov edx, dword [esp + 0x1a4]
push ecx
push edx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
test esi, esi
je case.0x582b46.14
mov edi, dword [0x818790]
mov eax, dword [esi + 0x474]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x2c]
push ecx
push edx
lea ecx, [edi + 0x28]
mov dword [esp + 0x1c], eax
call fcn.0046d690
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x2c]
cmp eax, ecx
je case.0x582b46.14
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x2fc], 5
je case.0x582b46.14
test eax, eax
je case.0x582b46.14
mov eax, dword [esp + 0x28]
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 + 0x1b4]
push edx
jmp 0x582f46
test ecx, ecx
je 0x582e95
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 0x582e95
mov eax, edi
mov edi, 0xa
cdq
idiv edi
cmp edx, 3
jne 0x582e95
mov edx, dword [esp + 0x28]
mov dword [esp + 0x18], 0
push edx
mov edx, dword [esp + 0x1c]
sub esp, 0xc
mov dword [esp + 0x2c], 0
mov eax, esp
mov dword [esp + 0x30], 0
push ecx
mov ecx, ebp
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], edx
call fcn.00583780
test al, al
je case.0x582b46.14
mov eax, dword [esp + 0x1a4]
push 0xffffffffffffffff
push eax
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
test esi, esi
je case.0x582b46.14
mov eax, dword [esi + 0x2fc]
cmp eax, 4
je case.0x582b46.14
cmp eax, 5
je case.0x582b46.14
mov ecx, dword [0x818794]
push esi
call fcn.0046c560
test al, al
je case.0x582b46.14
mov ecx, dword [esp + 0x28]
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, ebp
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1b4]
push eax
call fcn.00583780
test al, al
je case.0x582b46.14
mov ecx, dword [esi + 0x474]
mov edx, dword [esp + 0x1a4]
push ecx
push edx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
test esi, esi
je case.0x582b46.14
mov eax, dword [esp + 0x28]
lea edx, [esi + 0x98]
push eax
mov edi, dword [edx]
sub esp, 0xc
mov eax, esp
push ecx
mov dword [eax], edi
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov ecx, ebp
call fcn.00583780
test al, al
je case.0x582b46.14
mov eax, dword [esi + 0x474]
mov ecx, dword [esp + 0x1a4]
push eax
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
mov edx, dword [0x818794]
sub esp, 0xc
add edx, 0x98
mov eax, esp
push ecx
mov ecx, ebp
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.00583b90
mov al, 1
jmp 0x5834c8
test esi, esi
je 0x582fbc
mov eax, dword [esi + 0x474]
push eax
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
mov edx, dword [0x818794]
mov eax, dword [edx + 0x474]
push eax
push ecx
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
mov dword [ebp + 0xe4], 1
mov edx, dword [ecx]
mov dword [ebp + 0xe8], edx
mov eax, dword [0x6a3564]
mov ebx, ecx
push eax
add ecx, 4
push 0
push ecx
lea ecx, [ebp + 0xec]
call fcn.00402fc0
mov ecx, dword [0x6a3564]
lea edx, [ebx + 0x14]
push ecx
push 0
push edx
lea ecx, [ebp + 0xfc]
call fcn.00402fc0
mov ecx, dword [ebx + 0x2c]
mov edx, dword [0x6a3564]
lea esi, [ebx + 0x24]
mov eax, ecx
cmp edx, eax
lea edi, [ebp + 0x10c]
mov dword [esp + 0x14], eax
jae 0x58303d
mov eax, edx
mov dword [esp + 0x14], eax
cmp edi, esi
jne 0x58305a
push edx
push eax
mov ecx, edi
call fcn.00403210
push 0
push 0
mov ecx, edi
call fcn.00403210
jmp 0x5830e6
test eax, eax
jbe 0x5830a2
cmp eax, ecx
jne 0x5830a2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x58306e
mov ecx, 0x6a3560
cmp byte [ecx - 1], 0xfe
jae 0x5830a2
push 1
mov ecx, edi
call fcn.004031c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x583089
mov eax, 0x6a3560
mov dword [edi + 4], eax
mov ecx, dword [esi + 8]
mov dword [edi + 8], ecx
mov edx, dword [esi + 0xc]
mov dword [edi + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5830e6
push 1
push eax
mov ecx, edi
call fcn.00403350
test al, al
je 0x5830e6
mov esi, dword [esi + 4]
test esi, esi
jne 0x5830bc
mov esi, 0x6a3560
mov eax, dword [esp + 0x14]
mov edi, dword [ebp + 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 [ebp + 0x110]
mov dword [ebp + 0x114], eax
mov byte [eax + ecx], 0
mov edx, dword [ebx + 0x34]
push 0xffffffffffffffff
mov dword [ebp + 0x11c], edx
mov eax, dword [ebx + 0x38]
mov dword [ebp + 0x120], eax
mov ecx, dword [ebx + 0x3c]
mov dword [ebp + 0x124], ecx
mov edx, dword [ebx + 0x40]
mov dword [ebp + 0x128], edx
mov eax, dword [ebx + 0x44]
mov dword [ebp + 0x12c], eax
mov ecx, dword [ebx + 0x48]
mov dword [ebp + 0x130], ecx
mov edx, dword [ebx + 0x4c]
mov dword [ebp + 0x134], edx
mov eax, dword [ebx + 0x50]
mov dword [ebp + 0x138], eax
mov ecx, dword [ebx + 0x54]
mov dword [ebp + 0x13c], ecx
mov edx, dword [ebx + 0x58]
mov dword [ebp + 0x140], edx
mov eax, dword [ebx + 0x5c]
mov dword [ebp + 0x144], eax
mov ecx, dword [ebx + 0x60]
mov dword [ebp + 0x148], ecx
mov edx, dword [ebx + 0x64]
mov dword [ebp + 0x14c], edx
mov eax, dword [ebx + 0x68]
mov dword [ebp + 0x150], eax
mov ecx, dword [ebx + 0x6c]
mov dword [ebp + 0x154], ecx
mov edx, dword [ebx + 0x70]
mov dword [ebp + 0x158], edx
mov eax, dword [ebx + 0x74]
mov dword [ebp + 0x15c], eax
mov ecx, dword [ebx + 0x78]
mov dword [ebp + 0x160], ecx
mov edx, dword [ebx + 0x7c]
mov dword [ebp + 0x164], edx
mov eax, dword [ebx + 0x80]
mov dword [ebp + 0x168], eax
mov ecx, dword [ebx + 0x84]
mov dword [ebp + 0x16c], ecx
mov edx, dword [ebx + 0x88]
mov dword [ebp + 0x170], edx
mov eax, dword [ebx + 0x8c]
mov dword [ebp + 0x174], eax
mov ecx, dword [ebx + 0x90]
mov dword [ebp + 0x178], ecx
mov edx, dword [ebx + 0x94]
mov dword [ebp + 0x17c], edx
mov eax, dword [ebx + 0x98]
mov dword [ebp + 0x180], eax
mov eax, dword [ebp + 0x19c]
mov ecx, dword [ebp + 0x18]
push eax
add ecx, 0x1e4
sub esp, 0xc
mov edx, esp
mov esi, dword [ecx]
push eax
mov dword [edx], esi
push 0
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov edx, dword [0x818794]
mov ecx, dword [0x818990]
mov eax, dword [edx + 0x474]
push eax
call fcn.0047a2d0
mov eax, dword [ebp + 0x19c]
cmp eax, 0x2737
je 0x58323f
cmp eax, 0x2734
jne 0x5833df
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x8c]
cmp ecx, 3
jne 0x5832bb
mov edi, dword [ebp + 0x24]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
lea eax, [esp + 0x2c]
lea esi, [edi + 0x14]
mov dword [esp + 0x14], ecx
push edx
push eax
mov ecx, esi
call fcn.0058d8e0
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x58328a
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x58328a
lea eax, [esp + 0x2c]
jmp 0x583292
mov dword [esp + 0x28], esi
lea eax, [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
je 0x583392
add eax, 0x10
test eax, eax
je 0x583392
mov edx, dword [eax + 4]
dec edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x583389
cmp ecx, 4
jne 0x583323
mov edi, dword [ebp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
lea eax, [esp + 0x2c]
lea esi, [edi + 0x14]
mov dword [esp + 0x14], ecx
push edx
push eax
mov ecx, esi
call fcn.0058d920
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x5832f9
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x5832f9
lea eax, [esp + 0x2c]
jmp 0x583301
mov dword [esp + 0x28], esi
lea eax, [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
je 0x583392
add eax, 0x10
test eax, eax
je 0x583392
mov edx, dword [eax + 8]
dec edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x583389
cmp ecx, 7
jne 0x58344f
mov edi, dword [ebp + 0x30]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
lea eax, [esp + 0x2c]
lea esi, [edi + 0x14]
mov dword [esp + 0x14], ecx
push edx
push eax
mov ecx, esi
call fcn.0058d960
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x583365
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x583365
lea eax, [esp + 0x2c]
jmp 0x58336d
mov dword [esp + 0x28], esi
lea eax, [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
je 0x583392
add eax, 0x10
test eax, eax
je 0x583392
mov edx, dword [eax + 4]
dec edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov eax, dword [ebp + 0x18]
fstp dword [eax + 0x250]
xor esi, esi
mov edx, dword [ebp + 0x18]
lea ecx, [esi + 0x7532]
push 0xffffffffffffffff
push ecx
add edx, 0x1e4
sub esp, 0xc
mov eax, esp
mov ecx, dword [edx]
push 0x7532
mov dword [eax], ecx
push 0
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [0x818794]
mov ecx, dword [eax + 0x474]
push ecx
mov ecx, dword [0x818990]
call fcn.0047a2d0
inc esi
cmp esi, 8
jl 0x583394
mov al, 1
jmp 0x5834c8
test esi, esi
je case.0x582b46.14
mov ecx, dword [0x818794]
push esi
call fcn.0046c560
test al, al
jne case.0x582b46.14
mov edx, dword [esp + 0x28]
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 + 0x1b4]
push ecx
mov ecx, ebp
call fcn.00583780
test al, al
je case.0x582b46.14
mov edx, dword [esi + 0x474]
mov eax, dword [esp + 0x1a4]
push edx
push eax
mov ecx, ebp
call fcn.00583f20
mov al, 1
jmp 0x5834c8
test esi, esi
je case.0x582b46.14
mov edx, dword [esp + 0x28]
lea eax, [esi + 0x98]
push edx
mov edi, dword [eax]
sub esp, 0xc
mov edx, esp
push ecx
mov ecx, ebp
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.00583780
test al, al
je case.0x582b46.14
mov ecx, dword [esi + 0x474]
mov edx, dword [esp + 0x1a4]
push ecx
push edx
mov ecx, ebp
call fcn.00583f20
jmp case.0x582b46.14
test ecx, ecx
je case.0x582b46.14
mov eax, dword [0x818794]
sub esp, 0xc
add eax, 0x98
mov edx, esp
push ecx
mov ecx, ebp
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.00583b90
xor al, al
mov ecx, dword [esp + 0x190]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x18c
ret 8