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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49cf04
mov eax, dword fs:[0]
push eax
sub esp, 0x5c0
mov eax, dword [0x4c54e8]
xor eax, esp
mov dword [esp + 0x5b8], eax
push ebx
push esi
push edi
mov eax, dword [0x4c54e8]
xor eax, esp
push eax
lea eax, [esp + 0x5d0]
mov dword fs:[0], eax
mov esi, ecx
push 8
xor ebx, ebx
push 0x4a4cd4
lea ecx, [esp + 0x18c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x1a4], 0xf
mov dword [esp + 0x1a0], ebx
mov byte [esp + 0x190], bl
call fcn.00404829
add esi, 0x3c
lea eax, [esp + 0x184]
push eax
mov ecx, esi
mov dword [esp + 0x5dc], ebx
mov dword [esp + 0x2c], esi
call fcn.0045aca9
cmp dword [eax + 0x18], 0x10
jb 0x45b7e5
mov eax, dword [eax + 4]
jmp 0x45b7e8
add eax, 4
push eax
call fcn.00476de6
add esp, 4
cmp dword [esp + 0x19c], 0x10
mov edi, eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0x5d8], 0xffffffff
jb 0x45b81f
mov ecx, dword [esp + 0x188]
push ecx
call fcn.00475c61
add esp, 4
xor ecx, ecx
mov eax, edi
mov edx, 0x98
mul edx
seto cl
mov word [esp + 0x10], 0x2c
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.0046f927
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov dword [esp + 0x5d8], 1
je 0x45b885
push 0x458310
push 0x458220
push edi
lea esi, [eax + 4]
push 0x98
push esi
mov dword [eax], edi
call fcn.00476dfc
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x28]
jmp 0x45b889
mov dword [esp + 0x64], ebx
push 7
push 0x4a4ccc
lea ecx, [esp + 0x218]
mov dword [esp + 0x5e0], 0xffffffff
mov dword [esp + 0x230], 0xf
mov dword [esp + 0x22c], ebx
mov byte [esp + 0x21c], bl
call fcn.00404829
lea ecx, [esp + 0x210]
push ecx
mov ecx, esi
mov dword [esp + 0x5dc], 2
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1e0], 0xf
mov dword [esp + 0x1dc], ebx
mov byte [esp + 0x1cc], bl
call fcn.00404749
mov esi, 0x10
cmp dword [esp + 0x228], esi
mov byte [esp + 0x5d8], 4
jb 0x45b929
mov edx, dword [esp + 0x214]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1d4], esi
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x228], 0xf
mov dword [esp + 0x224], ebx
mov byte [esp + 0x214], bl
jae 0x45b959
lea eax, [esp + 0x1c0]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
cmp edi, ebx
mov esi, eax
mov dword [esp + 0x18], ebx
jle 0x45b9d2
mov edi, dword [esp + 0x64]
lea esp, [esp]
cmp esi, ebx
je 0x45b99d
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45b989
sub eax, edx
push eax
push esi
mov ecx, edi
call fcn.00404829
cmp esi, ebx
mov edx, dword [esp + 0x18]
mov dword [edi + 0x1c], edx
je 0x45b9b8
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x18]
add eax, 1
add edi, 0x98
cmp eax, dword [esp + 0xa4]
mov dword [esp + 0x18], eax
jl 0x45b979
cmp dword [esp + 0x1d4], 0x10
mov dword [esp + 0x5d8], 0xffffffff
jb 0x45b9f7
mov ecx, dword [esp + 0x1c0]
push ecx
call fcn.00475c61
add esp, 4
push 0xe
push 0x4a4cbc
lea ecx, [esp + 0x18c]
mov dword [esp + 0x1a4], 0xf
mov dword [esp + 0x1a0], ebx
mov byte [esp + 0x190], bl
call fcn.00404829
mov esi, dword [esp + 0x20]
lea edx, [esp + 0x184]
add esi, 0x3c
push edx
mov ecx, esi
mov dword [esp + 0x5dc], 5
call fcn.0045aca9
mov edi, 0x10
cmp dword [eax + 0x18], edi
jb 0x45ba53
mov eax, dword [eax + 4]
jmp 0x45ba56
add eax, 4
push eax
call fcn.00476de6
add esp, 4
cmp dword [esp + 0x19c], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x5d8], 0xffffffff
jb 0x45ba87
mov eax, dword [esp + 0x188]
push eax
call fcn.00475c61
add esp, 4
push 0xe
push 0x4a4cac
lea ecx, [esp + 0x18c]
mov dword [esp + 0x1a4], 0xf
mov dword [esp + 0x1a0], ebx
mov byte [esp + 0x190], bl
call fcn.00404829
lea ecx, [esp + 0x184]
push ecx
mov ecx, esi
mov dword [esp + 0x5dc], 6
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x270]
mov dword [esp + 0x288], 0xf
mov dword [esp + 0x284], ebx
mov byte [esp + 0x274], bl
call fcn.00404749
cmp dword [esp + 0x19c], edi
jb 0x45bb0f
mov edx, dword [esp + 0x188]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x27c], edi
mov eax, dword [esp + 0x268]
jae 0x45bb26
lea eax, [esp + 0x268]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
mov esi, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
xor edi, edi
cmp dword [esp + 0x1c], ebx
mov byte [esp + 0x5d8], 9
jle 0x45bbf0
lea ecx, [ecx]
cmp esi, ebx
je 0x45c57b
mov ecx, esi
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x45bb7f
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x138]
call fcn.00404829
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x30]
mov byte [esp + 0x5dc], 0xa
call fcn.00421759
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 9
jb 0x45bbd3
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x1c]
mov esi, eax
jl 0x45bb59
push 0x11
mov esi, 0xf
push 0x4a4c98
lea ecx, [esp + 0x138]
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
call fcn.00404829
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
add ecx, 0x3c
mov byte [esp + 0x5dc], 0xb
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x174]
mov dword [esp + 0x18c], esi
mov dword [esp + 0x188], ebx
mov byte [esp + 0x178], bl
call fcn.00404749
mov esi, 0x10
cmp dword [esp + 0x148], esi
jb 0x45bc7c
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x180], esi
mov eax, dword [esp + 0x16c]
jae 0x45bc93
lea eax, [esp + 0x16c]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
mov esi, eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
xor edi, edi
cmp dword [esp + 0x1c], ebx
mov byte [esp + 0x5d8], 0xe
jle 0x45bd60
lea ebx, [ebx]
cmp esi, ebx
je 0x45c60a
mov ecx, esi
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x45bcef
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x138]
call fcn.00404829
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x44]
mov byte [esp + 0x5dc], 0xf
call fcn.00421759
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0xe
jb 0x45bd43
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x1c]
mov esi, eax
jl 0x45bcc9
push 0xb
mov esi, 0xf
push 0x4a4c8c
lea ecx, [esp + 0x138]
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
call fcn.00404829
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
add ecx, 0x3c
mov byte [esp + 0x5dc], 0x10
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c0], ebx
mov byte [esp + 0x1b0], bl
call fcn.00404749
mov esi, 0x10
cmp dword [esp + 0x148], esi
jb 0x45bdec
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1b8], esi
mov eax, dword [esp + 0x1a4]
jae 0x45be03
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
mov esi, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
xor edi, edi
cmp dword [esp + 0x1c], ebx
mov byte [esp + 0x5d8], 0x13
jle 0x45bed0
lea ebx, [ebx]
cmp esi, ebx
je 0x45c6eb
mov ecx, esi
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x45be5f
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x138]
call fcn.00404829
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x58]
mov byte [esp + 0x5dc], 0x14
call fcn.00421759
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0x13
jb 0x45beb3
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x1c]
mov esi, eax
jl 0x45be39
push 0x13
mov esi, 0xf
push 0x4a4c78
lea ecx, [esp + 0x138]
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
call fcn.00404829
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
add ecx, 0x3c
mov byte [esp + 0x5dc], 0x15
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x200]
mov dword [esp + 0x218], esi
mov dword [esp + 0x214], ebx
mov byte [esp + 0x204], bl
call fcn.00404749
mov esi, 0x10
cmp dword [esp + 0x148], esi
jb 0x45bf5c
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x20c], esi
mov eax, dword [esp + 0x1f8]
jae 0x45bf73
lea eax, [esp + 0x1f8]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
mov esi, eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
xor edi, edi
cmp dword [esp + 0x1c], ebx
mov byte [esp + 0x5d8], 0x18
jle 0x45c040
lea ebx, [ebx]
cmp esi, ebx
je 0x45c804
mov ecx, esi
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x45bfcf
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x138]
call fcn.00404829
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x6c]
mov byte [esp + 0x5dc], 0x19
call fcn.00421759
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0x18
jb 0x45c023
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x1c]
mov esi, eax
jl 0x45bfa9
push 0x16
mov esi, 0xf
push 0x4a4c60
lea ecx, [esp + 0x138]
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
call fcn.00404829
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
add ecx, 0x3c
mov byte [esp + 0x5dc], 0x1a
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov dword [esp + 0x250], esi
mov dword [esp + 0x24c], ebx
mov byte [esp + 0x23c], bl
call fcn.00404749
mov esi, 0x10
cmp dword [esp + 0x148], esi
jb 0x45c0cc
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x244], esi
mov eax, dword [esp + 0x230]
jae 0x45c0e3
lea eax, [esp + 0x230]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
mov esi, eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
xor edi, edi
cmp dword [esp + 0x1c], ebx
mov byte [esp + 0x5d8], 0x1d
jle 0x45c1bd
cmp esi, ebx
je 0x45c886
mov ecx, esi
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x45c149
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x138]
call fcn.00404829
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x98]
mov byte [esp + 0x5dc], 0x1e
call fcn.00421759
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0x1d
jb 0x45c1a0
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x1c]
mov esi, eax
jl 0x45c11c
push 0xb
push 0x4a4c54
lea ecx, [esp + 0x138]
mov dword [esp + 0x150], 0xf
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
call fcn.00404829
mov esi, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
lea eax, [esp + 0x7c]
add esi, 0x3c
push eax
mov ecx, esi
mov byte [esp + 0x5e0], 0x1f
call fcn.00459dd9
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0x1d
jb 0x45c22e
mov ecx, dword [esp + 0x134]
push ecx
call fcn.00475c61
add esp, 4
push ebx
push 0x49f6da
lea ecx, [esp + 0x250]
mov dword [esp + 0x268], 0xf
mov dword [esp + 0x264], ebx
mov byte [esp + 0x254], bl
call fcn.00404829
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov edi, dword [esp + 0x78]
cmp edi, ebx
mov edx, dword [esi + 4]
mov byte [esp + 0x5d8], 0x21
mov dword [esp + 0xcc], edx
je 0x45c28c
cmp edi, esi
je 0x45c291
call fcn.00476807
mov esi, dword [esp + 0x7c]
cmp esi, dword [esp + 0xcc]
je 0x45c39d
cmp edi, ebx
jne 0x45c2ab
call fcn.00476807
cmp esi, dword [edi + 4]
jne 0x45c2b5
call fcn.00476807
push 0xffffffffffffffff
lea eax, [esi + 0x28]
push ebx
push eax
lea ecx, [esp + 0x254]
call fcn.00404749
cmp dword [esp + 0x260], 0x10
mov eax, dword [esp + 0x24c]
jae 0x45c2e0
lea eax, [esp + 0x24c]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
xor edi, edi
cmp dword [esp + 0x1c], ebx
mov esi, eax
jle 0x45c39d
cmp esi, ebx
je 0x45c91d
mov ecx, esi
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x45c329
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x138]
call fcn.00404829
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0xbc]
mov byte [esp + 0x5dc], 0x22
call fcn.00421759
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0x21
jb 0x45c380
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x1c]
mov esi, eax
jl 0x45c2fc
push 0xb
mov esi, 0xf
push 0x4a4c48
lea ecx, [esp + 0x138]
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
call fcn.00404829
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
add ecx, 0x3c
mov byte [esp + 0x5dc], 0x23
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x28c]
mov dword [esp + 0x2a4], esi
mov dword [esp + 0x2a0], ebx
mov byte [esp + 0x290], bl
call fcn.00404749
mov esi, 0x10
cmp dword [esp + 0x148], esi
jb 0x45c429
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x298], esi
mov eax, dword [esp + 0x284]
jae 0x45c440
lea eax, [esp + 0x284]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
mov esi, eax
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
xor edi, edi
cmp dword [esp + 0x1c], ebx
mov byte [esp + 0x5d8], 0x26
jle 0x45c513
cmp esi, ebx
je 0x45ca69
mov ecx, esi
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x45c49f
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x138]
call fcn.00404829
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0xac]
mov byte [esp + 0x5dc], 0x27
call fcn.00421759
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0x26
jb 0x45c4f6
mov eax, dword [esp + 0x134]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x1c]
mov esi, eax
jl 0x45c479
call fcn.00477854
cdq
mov ecx, 0x64
idiv ecx
xor edi, edi
xor esi, esi
mov dword [esp + 0x28], edx
nop
mov eax, dword [esp + 0xac]
cmp eax, ebx
je 0x45cf9b
mov ecx, dword [esp + 0xb0]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x45cf9b
push esi
lea ecx, [esp + 0xac]
call fcn.00423f69
cmp dword [eax + 0x18], 0x10
jb 0x45cc07
mov eax, dword [eax + 4]
jmp 0x45cc0a
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45c58f
push 0x4a4c2c
call fcn.00450119
mov esi, dword [esp + 0x30]
cmp esi, ebx
je 0x45c5dd
mov edi, dword [esp + 0x34]
cmp esi, edi
je 0x45c5d4
add esi, 0x18
lea esp, [esp]
cmp dword [esi], 0x10
jb 0x45c5ba
mov edx, dword [esi - 0x14]
push edx
call fcn.00475c61
add esp, 4
mov dword [esi], 0xf
mov dword [esi - 4], ebx
mov byte [esi - 0x14], bl
add esi, 0x1c
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x45c5a9
mov esi, dword [esp + 0x30]
push esi
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x27c], 0x10
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
jb 0x45c603
mov ecx, dword [esp + 0x268]
push ecx
call fcn.00475c61
add esp, 4
xor al, al
jmp 0x45e605
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45c61e
push 0x4a4c0c
call fcn.00450119
mov esi, dword [esp + 0x44]
cmp esi, ebx
je 0x45c665
mov edi, dword [esp + 0x48]
cmp esi, edi
je 0x45c65c
add esi, 0x18
cmp dword [esi], 0x10
jb 0x45c642
mov edx, dword [esi - 0x14]
push edx
call fcn.00475c61
add esp, 4
mov dword [esi], 0xf
mov dword [esi - 4], ebx
mov byte [esi - 0x14], bl
add esi, 0x1c
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x45c631
mov esi, dword [esp + 0x44]
push esi
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x180], 0x10
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
jb 0x45c68b
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.00475c61
add esp, 4
mov esi, dword [esp + 0x30]
cmp esi, ebx
mov dword [esp + 0x180], 0xf
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x16c], bl
je 0x45c5dd
mov edi, dword [esp + 0x34]
cmp esi, edi
je 0x45c5d4
add esi, 0x18
cmp dword [esi], 0x10
jb 0x45c6d0
mov edx, dword [esi - 0x14]
push edx
call fcn.00475c61
add esp, 4
mov dword [esi], 0xf
mov dword [esi - 4], ebx
mov byte [esi - 0x14], bl
add esi, 0x1c
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x45c6bf
jmp 0x45c5d0
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45c6ff
push 0x4a4bf4
call fcn.00450119
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x45c729
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x58]
push ecx
push edx
push eax
call fcn.0040fb39
mov eax, dword [esp + 0x68]
push eax
call fcn.00475c61
add esp, 0x14
cmp dword [esp + 0x1b8], 0x10
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
jb 0x45c74f
mov ecx, dword [esp + 0x1a4]
push ecx
call fcn.00475c61
add esp, 4
mov eax, dword [esp + 0x44]
cmp eax, ebx
mov dword [esp + 0x1b8], 0xf
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0x1a4], bl
je 0x45c792
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x44]
push ecx
push edx
push eax
call fcn.0040fb39
mov eax, dword [esp + 0x54]
push eax
call fcn.00475c61
add esp, 0x14
cmp dword [esp + 0x180], 0x10
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
jb 0x45c7b8
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.00475c61
add esp, 4
mov eax, dword [esp + 0x30]
cmp eax, ebx
mov dword [esp + 0x180], 0xf
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x16c], bl
je 0x45c5dd
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x30]
push ecx
push edx
push eax
call fcn.0040fb39
mov eax, dword [esp + 0x40]
push eax
call fcn.00475c61
add esp, 0x14
jmp 0x45c5dd
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45c818
push 0x4a4bdc
call fcn.00450119
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x45c842
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x74]
lea ecx, [esp + 0x6c]
push ecx
push edx
push eax
call fcn.0040fb39
mov eax, dword [esp + 0x7c]
push eax
call fcn.00475c61
add esp, 0x14
cmp dword [esp + 0x20c], 0x10
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
jb 0x45c868
mov ecx, dword [esp + 0x1f8]
push ecx
call fcn.00475c61
add esp, 4
mov dword [esp + 0x20c], 0xf
mov dword [esp + 0x208], ebx
mov byte [esp + 0x1f8], bl
jmp 0x45c6ff
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45c89a
push 0x4a4bc4
call fcn.00450119
mov eax, dword [esp + 0x98]
cmp eax, ebx
je 0x45c8d0
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x98]
push ecx
push edx
push eax
call fcn.0040fb39
mov eax, dword [esp + 0xa8]
push eax
call fcn.00475c61
add esp, 0x14
cmp dword [esp + 0x244], 0x10
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
jb 0x45c8ff
mov ecx, dword [esp + 0x230]
push ecx
call fcn.00475c61
add esp, 4
mov dword [esp + 0x244], 0xf
mov dword [esp + 0x240], ebx
mov byte [esp + 0x230], bl
jmp 0x45c818
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45c931
push 0x4a4bac
call fcn.00450119
lea ecx, [esp + 0xb8]
call fcn.0040ff99
mov esi, 0x10
cmp dword [esp + 0x260], esi
jb 0x45c95b
mov edx, dword [esp + 0x24c]
push edx
call fcn.00475c61
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0x94]
mov dword [esp + 0x260], edi
mov dword [esp + 0x25c], ebx
mov byte [esp + 0x24c], bl
call fcn.0040ff99
cmp dword [esp + 0x244], esi
jb 0x45c99a
mov eax, dword [esp + 0x230]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0x244], edi
mov dword [esp + 0x240], ebx
mov byte [esp + 0x230], bl
call fcn.0040ff99
cmp dword [esp + 0x20c], esi
jb 0x45c9d1
mov ecx, dword [esp + 0x1f8]
push ecx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x20c], edi
mov dword [esp + 0x208], ebx
mov byte [esp + 0x1f8], bl
call fcn.0040ff99
cmp dword [esp + 0x1b8], esi
jb 0x45ca08
mov edx, dword [esp + 0x1a4]
push edx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x40]
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0x1a4], bl
call fcn.0040ff99
cmp dword [esp + 0x180], esi
jb 0x45ca3f
mov eax, dword [esp + 0x16c]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [esp + 0x180], edi
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x16c], bl
call fcn.0040ff99
cmp dword [esp + 0x27c], esi
jmp 0x45c5f1
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45ca7d
push 0x4a4b94
call fcn.00450119
lea ecx, [esp + 0xa8]
call fcn.0040ff99
mov esi, 0x10
cmp dword [esp + 0x298], esi
jb 0x45caa7
mov edx, dword [esp + 0x284]
push edx
call fcn.00475c61
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0xb8]
mov dword [esp + 0x298], edi
mov dword [esp + 0x294], ebx
mov byte [esp + 0x284], bl
call fcn.0040ff99
cmp dword [esp + 0x260], esi
jb 0x45cae6
mov eax, dword [esp + 0x24c]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x94]
mov dword [esp + 0x260], edi
mov dword [esp + 0x25c], ebx
mov byte [esp + 0x24c], bl
call fcn.0040ff99
cmp dword [esp + 0x244], esi
jb 0x45cb20
mov ecx, dword [esp + 0x230]
push ecx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0x244], edi
mov dword [esp + 0x240], ebx
mov byte [esp + 0x230], bl
call fcn.0040ff99
cmp dword [esp + 0x20c], esi
jb 0x45cb57
mov edx, dword [esp + 0x1f8]
push edx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x20c], edi
mov dword [esp + 0x208], ebx
mov byte [esp + 0x1f8], bl
call fcn.0040ff99
cmp dword [esp + 0x1b8], esi
jb 0x45cb8e
mov eax, dword [esp + 0x1a4]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x40]
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0x1a4], bl
call fcn.0040ff99
cmp dword [esp + 0x180], esi
jb 0x45cbc5
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [esp + 0x180], edi
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x16c], bl
call fcn.0040ff99
cmp dword [esp + 0x27c], esi
jb 0x45c603
mov edx, dword [esp + 0x268]
push edx
call fcn.00475c61
add esp, 4
xor al, al
jmp 0x45e605
add eax, 4
push eax
call fcn.00476de6
add edi, eax
add esp, 4
cmp edi, 0x63
jle 0x45cc1f
mov edi, 0x63
cmp edi, dword [esp + 0x28]
jge 0x45cc2d
add esi, 1
jmp 0x45c529
push esi
lea ecx, [esp + 0x30]
call fcn.00423f69
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e4]
mov dword [esp + 0x1fc], 0xf
mov dword [esp + 0x1f8], ebx
mov byte [esp + 0x1e8], bl
call fcn.00404749
push 0x49fd0c
lea ecx, [esp + 0x150]
mov byte [esp + 0x5dc], 0x28
call fcn.00404a19
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x14c]
add edi, 0x3c
push edx
mov ecx, edi
mov byte [esp + 0x5dc], 0x29
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1e0]
push ecx
mov ecx, eax
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x28
jb 0x45cccb
mov edx, dword [esp + 0x150]
push edx
call fcn.00475c61
add esp, 4
push esi
lea ecx, [esp + 0x58]
call fcn.00423f69
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e4]
call fcn.00404749
push 0x4a0998
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
mov ecx, edi
mov byte [esp + 0x5dc], 0x2a
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1e0]
push ecx
mov ecx, eax
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x28
jb 0x45cd41
mov edx, dword [esp + 0x150]
push edx
call fcn.00475c61
add esp, 4
push esi
lea ecx, [esp + 0x44]
call fcn.00423f69
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e4]
call fcn.00404749
push 0x4a0844
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
mov ecx, edi
mov byte [esp + 0x5dc], 0x2b
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1e0]
push ecx
mov ecx, eax
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x28
jb 0x45cdb7
mov edx, dword [esp + 0x150]
push edx
call fcn.00475c61
add esp, 4
push esi
lea ecx, [esp + 0x6c]
call fcn.00423f69
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e4]
call fcn.00404749
push 0x4a0308
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
mov ecx, edi
mov byte [esp + 0x5dc], 0x2c
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1e0]
push ecx
mov ecx, eax
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x28
jb 0x45ce2d
mov edx, dword [esp + 0x150]
push edx
call fcn.00475c61
add esp, 4
push esi
lea ecx, [esp + 0x98]
call fcn.00423f69
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e4]
call fcn.00404749
push 0x4a0318
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
mov ecx, edi
mov byte [esp + 0x5dc], 0x2d
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1e0]
push ecx
mov ecx, eax
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x28
jb 0x45cea6
mov edx, dword [esp + 0x150]
push edx
call fcn.00475c61
add esp, 4
mov eax, dword [esp + 0xbc]
cmp eax, ebx
jne 0x45ceb7
mov dword [esp + 0x28], ebx
jmp 0x45ced7
mov ecx, dword [esp + 0xc0]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xac]
cmp eax, ebx
jne 0x45cee6
xor eax, eax
jmp 0x45cf02
mov ecx, dword [esp + 0xb0]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jne 0x45cf79
push esi
lea ecx, [esp + 0xbc]
call fcn.00423f69
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e4]
call fcn.00404749
push 0x4a0280
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
mov ecx, edi
mov byte [esp + 0x5dc], 0x2e
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1e0]
push ecx
mov ecx, eax
call fcn.00404749
cmp dword [esp + 0x164], 0x10
jb 0x45cf79
mov edx, dword [esp + 0x150]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1f0], 0x10
mov byte [esp + 0x5d8], 0x26
jb 0x45cf9b
mov eax, dword [esp + 0x1dc]
push eax
call fcn.00475c61
add esp, 4
push 0x4a4b8c
lea ecx, [esp + 0x134]
call fcn.00404a19
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x130]
push ecx
lea ecx, [esi + 0x3c]
mov byte [esp + 0x5dc], 0x2f
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
mov edi, 0xf
push eax
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1dc], ebx
mov byte [esp + 0x1cc], bl
call fcn.00404749
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x5d8], 0x31
jb 0x45d014
mov edx, dword [esp + 0x134]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1d4], 0x10
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x148], edi
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
jae 0x45d041
lea eax, [esp + 0x1c0]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
cmp eax, ebx
je 0x45d09a
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea edx, [esp + 0x14c]
push edx
lea ecx, [esi + 0x60]
mov byte [esp + 0x5dc], 0x32
call fcn.00421759
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x31
jb 0x45d09a
mov eax, dword [esp + 0x150]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004798f8
add esp, 8
cmp eax, ebx
jne 0x45d053
cmp dword [esp + 0x1d4], 0x10
mov byte [esp + 0x5d8], 0x26
jb 0x45d0ce
mov edx, dword [esp + 0x1c0]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0xa4], ebx
mov dword [esp + 0x28], 0x2710
mov dword [esp + 0x24], ebx
jle 0x45e552
mov edi, edi
mov esi, dword [esp + 0x24]
push 0xa
lea eax, [esp + 0x3b8]
push eax
push esi
call fcn.00476bbc
add esp, 0xc
push 0x4a4b84
lea ecx, [esp + 0x188]
call fcn.00404a19
push 0x4a4b78
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x5dc], 0x33
call fcn.00404a19
push 0x4a4b70
lea ecx, [esp + 0x2a0]
mov byte [esp + 0x5dc], 0x34
call fcn.00404a19
push 0x4a4b64
lea ecx, [esp + 0x214]
mov byte [esp + 0x5dc], 0x35
call fcn.00404a19
push 0xa
lea ecx, [esp + 0x3b8]
push ecx
push esi
mov byte [esp + 0x5e4], 0x36
call fcn.00476bbc
push 0x70
call fcn.00475d55
add esp, 0x10
cmp eax, ebx
je 0x45d1af
mov dword [eax + 0x14], ebx
mov ecx, 0xf
mov dword [eax + 0x18], ecx
mov byte [eax + 4], bl
mov dword [eax + 0x34], ecx
mov dword [eax + 0x30], ebx
mov byte [eax + 0x20], bl
mov dword [eax + 0x50], ecx
mov dword [eax + 0x4c], ebx
mov byte [eax + 0x3c], bl
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x68], ebx
mov byte [eax + 0x58], bl
mov esi, eax
jmp 0x45d1b1
xor esi, esi
lea eax, [esp + 0x3b4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d1bb
sub eax, edx
push eax
lea edx, [esp + 0x3b8]
push edx
lea ecx, [esp + 0x18c]
call fcn.004048f9
cmp dword [esp + 0x19c], 0x10
mov eax, dword [esp + 0x188]
jae 0x45d1f3
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x14c]
push eax
lea ecx, [edi + 0x3c]
mov byte [esp + 0x5dc], 0x37
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x36
jb 0x45d249
mov ecx, dword [esp + 0x150]
push ecx
call fcn.00475c61
add esp, 4
lea eax, [esp + 0x3b4]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d259
sub eax, edx
push eax
lea edx, [esp + 0x3b8]
push edx
lea ecx, [esp + 0x1c4]
call fcn.004048f9
cmp dword [esp + 0x1d4], 0x10
mov eax, dword [esp + 0x1c0]
jae 0x45d291
lea eax, [esp + 0x1c0]
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
lea ecx, [edi + 0x3c]
mov byte [esp + 0x5dc], 0x38
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x1c]
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x36
jb 0x45d2e4
mov ecx, dword [esp + 0x150]
push ecx
call fcn.00475c61
add esp, 4
lea eax, [esp + 0x3b4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d2ee
sub eax, edx
push eax
lea edx, [esp + 0x3b8]
push edx
lea ecx, [esp + 0x2a4]
call fcn.004048f9
cmp dword [esp + 0x2b4], 0x10
mov eax, dword [esp + 0x2a0]
jae 0x45d326
lea eax, [esp + 0x2a0]
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
lea ecx, [edi + 0x3c]
mov byte [esp + 0x5dc], 0x39
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x38]
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x36
jb 0x45d379
mov ecx, dword [esp + 0x150]
push ecx
call fcn.00475c61
add esp, 4
lea eax, [esp + 0x3b4]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d389
sub eax, edx
push eax
lea edx, [esp + 0x3b8]
push edx
lea ecx, [esp + 0x218]
call fcn.004048f9
cmp dword [esp + 0x228], 0x10
mov eax, dword [esp + 0x214]
jae 0x45d3c1
lea eax, [esp + 0x214]
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea eax, [esp + 0x14c]
push eax
lea ecx, [edi + 0x3c]
mov byte [esp + 0x5dc], 0x3a
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x54]
call fcn.00404749
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x5d8], 0x36
jb 0x45d414
mov ecx, dword [esp + 0x150]
push ecx
call fcn.00475c61
add esp, 4
mov edx, dword [esp + 0x24]
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x104]
push ecx
lea ecx, [edi + 0x54]
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], esi
call fcn.00408d49
cmp dword [esp + 0x228], 0x10
jb 0x45d458
mov edx, dword [esp + 0x214]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x2b4], 0x10
mov esi, 0xf
mov dword [esp + 0x228], esi
mov dword [esp + 0x224], ebx
mov byte [esp + 0x214], bl
jb 0x45d48c
mov eax, dword [esp + 0x2a0]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1d4], 0x10
mov dword [esp + 0x2b4], esi
mov dword [esp + 0x2b0], ebx
mov byte [esp + 0x2a0], bl
jb 0x45d4bb
mov ecx, dword [esp + 0x1c0]
push ecx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x19c], 0x10
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x1c0], bl
mov byte [esp + 0x5d8], 0x26
jb 0x45d4f2
mov edx, dword [esp + 0x188]
push edx
call fcn.00475c61
add esp, 4
push 0x4a4b50
lea ecx, [esp + 0x2d8]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x3b
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d519
sub eax, edx
push eax
lea eax, [esp + 0x3b8]
push eax
lea ecx, [esp + 0x2dc]
call fcn.004048f9
lea ecx, [esp + 0x2d4]
push ecx
lea ecx, [edi + 0x3c]
call fcn.0045aca9
cmp dword [eax + 0x18], 0x10
jb 0x45d554
mov eax, dword [eax + 4]
jmp 0x45d557
add eax, 4
push eax
call fcn.00476de6
add esp, 4
mov esi, eax
push 0x4a4b3c
lea ecx, [esp + 0x150]
mov dword [esp + 0x40], esi
call fcn.00404a19
push 0x4a4b2c
lea ecx, [esp + 0x188]
mov byte [esp + 0x5dc], 0x3c
call fcn.00404a19
push 0x4a4b18
lea ecx, [esp + 0x364]
mov byte [esp + 0x5dc], 0x3d
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x3e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d5bb
sub eax, edx
push eax
lea edx, [esp + 0x3b8]
push edx
lea ecx, [esp + 0x154]
call fcn.004048f9
lea eax, [esp + 0x3b4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d5e9
sub eax, edx
push eax
lea eax, [esp + 0x3b8]
push eax
lea ecx, [esp + 0x18c]
call fcn.004048f9
lea eax, [esp + 0x3b4]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d619
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x368]
call fcn.004048f9
cmp esi, ebx
mov dword [esp + 0x18], ebx
jle 0x45d92e
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x64]
imul edx, edx, 0x98
lea ecx, [edx + eax + 0x8c]
mov dword [esp + 0x50], ecx
jmp 0x45d669
mov eax, dword [esp + 0x18]
push 0xa
lea edx, [esp + 0x4c0]
push edx
push eax
call fcn.00476bbc
add esp, 0xc
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x154]
push ecx
mov edi, 0xf
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1dc], ebx
mov byte [esp + 0x1cc], bl
call fcn.00404749
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x18c]
push edx
lea ecx, [esp + 0x21c]
mov byte [esp + 0x5e4], 0x3f
mov dword [esp + 0x234], edi
mov dword [esp + 0x230], ebx
mov byte [esp + 0x220], bl
call fcn.00404749
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x368]
push eax
lea ecx, [esp + 0x2a8]
mov byte [esp + 0x5e4], 0x40
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2bc], ebx
mov byte [esp + 0x2ac], bl
call fcn.00404749
push 0x5f
push 1
lea ecx, [esp + 0x218]
mov byte [esp + 0x5e0], 0x41
call fcn.0040d969
push 0x5f
push 1
lea ecx, [esp + 0x2a4]
call fcn.0040d969
push 0x5f
push 1
lea ecx, [esp + 0x1c4]
call fcn.0040d969
lea eax, [esp + 0x4bc]
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d75b
sub eax, esi
push eax
lea ecx, [esp + 0x4c0]
push ecx
lea ecx, [esp + 0x1c4]
call fcn.004048f9
lea eax, [esp + 0x4bc]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d789
sub eax, edx
push eax
lea edx, [esp + 0x4c0]
push edx
lea ecx, [esp + 0x218]
call fcn.004048f9
lea eax, [esp + 0x4bc]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d7b9
sub eax, edx
push eax
lea eax, [esp + 0x4c0]
push eax
lea ecx, [esp + 0x2a4]
call fcn.004048f9
push 0x58
call fcn.00475d55
add esp, 4
cmp eax, ebx
je 0x45d806
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], ebx
mov byte [eax + 8], bl
mov dword [eax + 0x38], edi
mov dword [eax + 0x34], ebx
mov byte [eax + 0x24], bl
mov dword [eax + 0x54], edi
mov dword [eax + 0x50], ebx
mov byte [eax + 0x40], bl
mov esi, eax
jmp 0x45d808
xor esi, esi
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x1bc]
mov dword [esi], ecx
add edi, 0x3c
push edx
mov ecx, edi
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 4]
call fcn.00404749
lea eax, [esp + 0x210]
push eax
mov ecx, edi
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x20]
call fcn.00404749
lea ecx, [esp + 0x29c]
push ecx
mov ecx, edi
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x3c]
call fcn.00404749
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x128]
push ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], esi
call fcn.00408d49
cmp dword [esp + 0x2b4], 0x10
jb 0x45d8ab
mov edx, dword [esp + 0x2a0]
push edx
call fcn.00475c61
add esp, 4
mov edi, 0x10
cmp dword [esp + 0x228], edi
mov esi, 0xf
mov dword [esp + 0x2b4], esi
mov dword [esp + 0x2b0], ebx
mov byte [esp + 0x2a0], bl
jb 0x45d8e3
mov eax, dword [esp + 0x214]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1d4], edi
mov dword [esp + 0x228], esi
mov dword [esp + 0x224], ebx
mov byte [esp + 0x214], bl
mov byte [esp + 0x5d8], 0x3e
jb 0x45d919
mov ecx, dword [esp + 0x1c0]
push ecx
call fcn.00475c61
add esp, 4
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
jl 0x45d669
mov edi, 0x10
cmp dword [esp + 0x378], edi
jb 0x45d94c
mov edx, dword [esp + 0x364]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x19c], edi
mov esi, 0xf
mov dword [esp + 0x378], esi
mov dword [esp + 0x374], ebx
mov byte [esp + 0x364], bl
jb 0x45d97f
mov eax, dword [esp + 0x188]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x164], edi
mov dword [esp + 0x19c], esi
mov dword [esp + 0x198], ebx
mov byte [esp + 0x188], bl
mov byte [esp + 0x5d8], 0x3b
jb 0x45d9b5
mov ecx, dword [esp + 0x150]
push ecx
call fcn.00475c61
add esp, 4
push 0x4a4b04
lea ecx, [esp + 0x2bc]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x42
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45d9d9
sub eax, edx
push eax
lea edx, [esp + 0x3b8]
push edx
lea ecx, [esp + 0x2c0]
call fcn.004048f9
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x2b8]
push eax
lea ecx, [esi + 0x3c]
call fcn.0045aca9
cmp dword [eax + 0x18], edi
jb 0x45da17
mov eax, dword [eax + 4]
jmp 0x45da1a
add eax, 4
push eax
call fcn.00476de6
add esp, 4
push 0x4a4af8
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x54], eax
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x43
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45da4a
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x1e0]
call fcn.004048f9
lea edx, [esp + 0x1d8]
push edx
lea ecx, [esi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e4]
call fcn.00404749
cmp dword [esp + 0x1f0], edi
mov eax, dword [esp + 0x1dc]
jae 0x45daa1
lea eax, [esp + 0x1dc]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
xor edx, edx
add esp, 8
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
cmp eax, ebx
mov byte [esp + 0x5d8], 0x44
je 0x45db14
lea esp, [esp]
push eax
call fcn.00476de6
add esp, 4
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x88]
mov dword [esp + 0x40], eax
call fcn.0045aa39
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
add esp, 8
cmp eax, ebx
jne 0x45dad9
mov edx, dword [esp + 0x88]
cmp edx, ebx
jne 0x45db18
xor eax, eax
jmp 0x45db24
mov eax, dword [esp + 0x8c]
sub eax, edx
sar eax, 2
cmp eax, dword [esp + 0x50]
jne 0x45e62b
push 0x4a4af0
lea ecx, [esp + 0x310]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x45
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45db51
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x314]
call fcn.004048f9
lea edx, [esp + 0x30c]
push edx
lea ecx, [esi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x318]
call fcn.00404749
cmp dword [esp + 0x324], edi
mov eax, dword [esp + 0x310]
jae 0x45dba8
lea eax, [esp + 0x310]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
cmp dword [esp + 0x50], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], ebx
jle 0x45dcbf
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x64]
imul edx, edx, 0x98
lea ecx, [edx + eax + 0x5c]
mov dword [esp + 0x14], ecx
push 0x2c
call fcn.00475d55
add esp, 4
cmp eax, ebx
je 0x45dbfd
mov dword [eax + 0x1c], 0xf
mov dword [eax + 0x18], ebx
mov byte [eax + 8], bl
mov esi, eax
jmp 0x45dbff
xor esi, esi
mov edx, dword [esp + 0x18]
cmp edx, ebx
je 0x45dc21
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45dc0c
sub eax, edi
push eax
push edx
lea ecx, [esi + 4]
call fcn.00404829
mov edx, dword [esp + 0x24]
mov dword [esi + 0x20], edx
mov edx, dword [esp + 0x3c]
lea edi, [edx + 1]
mov dword [esi + 0x24], 0xffffffff
mov dword [esi], edi
mov eax, dword [esp + 0x88]
cmp eax, ebx
je 0x45dc53
mov ecx, dword [esp + 0x8c]
sub ecx, eax
sar ecx, 2
cmp edx, ecx
jb 0x45dc5f
call fcn.00476807
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + ecx*4]
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x11c]
push ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x28], edx
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], esi
call fcn.00408d49
cmp dword [esp + 0x18], ebx
je 0x45dca8
lea edx, [esp + 0x10]
push edx
push ebx
call fcn.004798f8
add esp, 8
mov dword [esp + 0x18], eax
cmp edi, dword [esp + 0x50]
mov dword [esp + 0x3c], edi
jl 0x45dbde
mov esi, dword [esp + 0x20]
mov edi, 0x10
push 0x4a4ae4
lea ecx, [esp + 0x2f4]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x46
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45dce9
sub eax, edx
push eax
lea eax, [esp + 0x3b8]
push eax
lea ecx, [esp + 0x2f8]
call fcn.004048f9
lea ecx, [esp + 0x2f0]
push ecx
lea ecx, [esi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x2fc]
call fcn.00404749
cmp dword [esp + 0x308], edi
mov eax, dword [esp + 0x2f4]
jae 0x45dd40
lea eax, [esp + 0x2f4]
lea edx, [esp + 0x10]
push edx
push eax
call fcn.004798f8
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x45de05
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x64]
imul eax, eax, 0x98
lea edx, [eax + ecx + 0x68]
mov dword [esp + 0x3c], edx
push 0x34
call fcn.00475d55
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x5d8], 0x47
je 0x45dd93
mov ecx, eax
call fcn.0045a9e9
mov esi, eax
jmp 0x45dd95
xor esi, esi
cmp edi, ebx
mov byte [esp + 0x5d8], 0x46
mov dword [esp + 0x50], esi
je 0x45ddc5
mov eax, edi
lea edx, [eax + 1]
lea ecx, [esi + 4]
mov dword [esp + 0x14], edx
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x45ddb1
sub eax, dword [esp + 0x14]
push eax
push edi
call fcn.00404829
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x20], eax
lea edx, [esp + 0x50]
mov dword [esi], ecx
mov ecx, dword [esp + 0x3c]
push edx
call fcn.0045aa39
add dword [esp + 0x28], 1
cmp edi, ebx
je 0x45de01
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x45dd6e
mov esi, dword [esp + 0x20]
push 0x4a4ad0
lea ecx, [esp + 0x32c]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x48
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45de29
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x330]
call fcn.004048f9
lea edx, [esp + 0x328]
push edx
lea ecx, [esi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x334]
call fcn.00404749
cmp dword [esp + 0x340], 0x10
mov eax, dword [esp + 0x32c]
jae 0x45de81
lea eax, [esp + 0x32c]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
mov edx, dword [esp + 0x2c]
imul edx, edx, 0x98
mov esi, eax
mov eax, dword [esp + 0x6c]
add eax, edx
mov ecx, dword [eax + 0x6c]
add esp, 8
mov dword [esp + 0x18], eax
add eax, 0x68
push eax
push ecx
lea ecx, [esp + 0x80]
call fcn.00406839
cmp esi, ebx
je 0x45e0b1
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x70]
add eax, 0x68
push eax
push edx
lea ecx, [esp + 0xe8]
call fcn.00406839
mov edi, dword [esp + 0x78]
cmp edi, ebx
je 0x45deea
cmp edi, dword [esp + 0xe0]
je 0x45deef
call fcn.00476807
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0xe4]
je 0x45e85f
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45df09
sub eax, edx
cmp eax, 1
push esi
jbe 0x45e052
lea ecx, [esp + 0x188]
call fcn.00404a19
push 1
push ebx
push 0x4a449c
lea ecx, [esp + 0x190]
mov byte [esp + 0x5e4], 0x49
xor edi, edi
call fcn.00426279
mov esi, eax
cmp esi, 0xffffffff
je 0x45dfc4
push edi
mov ecx, esi
sub ecx, edi
push ecx
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x190]
mov byte [esp + 0x8c], bl
mov word [esp + 0x8d], bx
call fcn.004598f9
lea eax, [esp + 0x80]
add esi, 1
push eax
mov edi, esi
call fcn.00476de6
add esp, 4
lea ecx, [esp + 0x78]
mov dword [esp + 0x14], eax
call fcn.004063f9
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [eax]
add ecx, 0x24
call fcn.0045aa39
push 1
push esi
push 0x4a449c
lea ecx, [esp + 0x190]
call fcn.00426279
mov esi, eax
cmp esi, 0xffffffff
jne 0x45df4f
mov edx, dword [esp + 0x198]
push edi
sub edx, edi
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x190]
mov byte [esp + 0x28], bl
mov word [esp + 0x29], bx
call fcn.004598f9
lea ecx, [esp + 0x1c]
push ecx
call fcn.00476de6
mov esi, dword [esp + 0x7c]
add esp, 4
cmp esi, ebx
mov dword [esp + 0x14], eax
jne 0x45e007
call fcn.00476807
mov edi, dword [esp + 0x7c]
cmp edi, dword [esi + 8]
jb 0x45e015
call fcn.00476807
mov ecx, dword [edi]
lea edx, [esp + 0x14]
push edx
add ecx, 0x24
call fcn.0045aa39
push ebx
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x80]
call fcn.00459809
push ebx
push 1
lea ecx, [esp + 0x18c]
mov byte [esp + 0x5e0], 0x48
call fcn.00404359
jmp 0x45e099
call fcn.00476de6
add esp, 4
cmp edi, ebx
mov dword [esp + 0x14], eax
jne 0x45e067
call fcn.00476807
mov esi, dword [esp + 0x7c]
cmp esi, dword [edi + 8]
jb 0x45e075
call fcn.00476807
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi]
add ecx, 0x24
call fcn.0045aa39
push ebx
lea edx, [esp + 0xf4]
push edx
lea ecx, [esp + 0x80]
call fcn.00459809
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x45dec1
push 0x4a4ac4
lea ecx, [esp + 0x134]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x4a
lea edx, [eax + 1]
jmp 0x45e0d9
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45e0d9
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x138]
call fcn.004048f9
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
lea ecx, [edi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x13c]
call fcn.00404749
cmp dword [esp + 0x148], 0x10
mov eax, dword [esp + 0x134]
jae 0x45e135
lea eax, [esp + 0x134]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
cmp eax, ebx
je 0x45e1a6
mov esi, dword [esp + 0x18]
add esi, 0x34
jmp 0x45e159
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea edx, [esp + 0x14c]
push edx
mov ecx, esi
mov byte [esp + 0x5dc], 0x4b
call fcn.0044e8d9
push ebx
push 1
lea ecx, [esp + 0x154]
mov byte [esp + 0x5e0], 0x4a
call fcn.00404359
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
add esp, 8
cmp eax, ebx
jne 0x45e159
push 0x4a4abc
lea ecx, [esp + 0x380]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x4c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45e1c9
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x384]
call fcn.004048f9
lea edx, [esp + 0x37c]
push edx
lea ecx, [edi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x388]
call fcn.00404749
cmp dword [esp + 0x394], 0x10
mov eax, dword [esp + 0x380]
jae 0x45e221
lea eax, [esp + 0x380]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
cmp eax, ebx
je 0x45e287
mov esi, dword [esp + 0x18]
add esi, 0x78
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea edx, [esp + 0x14c]
push edx
mov ecx, esi
mov byte [esp + 0x5dc], 0x4d
call fcn.0044e8d9
push ebx
push 1
lea ecx, [esp + 0x154]
mov byte [esp + 0x5e0], 0x4c
call fcn.00404359
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
add esp, 8
cmp eax, ebx
jne 0x45e23a
push 0x4a4ab0
lea ecx, [esp + 0x348]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x4e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45e2aa
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x34c]
call fcn.004048f9
lea edx, [esp + 0x344]
push edx
lea ecx, [edi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x350]
call fcn.00404749
cmp dword [esp + 0x35c], 0x10
mov eax, dword [esp + 0x348]
jae 0x45e302
lea eax, [esp + 0x348]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
cmp eax, ebx
je 0x45e368
mov esi, dword [esp + 0x18]
add esi, 0x20
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea edx, [esp + 0x14c]
push edx
mov ecx, esi
mov byte [esp + 0x5dc], 0x4f
call fcn.0044e8d9
push ebx
push 1
lea ecx, [esp + 0x154]
mov byte [esp + 0x5e0], 0x4e
call fcn.00404359
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
add esp, 8
cmp eax, ebx
jne 0x45e31b
push 0x4a4aa4
lea ecx, [esp + 0x39c]
call fcn.00404a19
lea eax, [esp + 0x3b4]
mov byte [esp + 0x5d8], 0x50
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x45e38b
sub eax, edx
push eax
lea ecx, [esp + 0x3b8]
push ecx
lea ecx, [esp + 0x3a0]
call fcn.004048f9
lea edx, [esp + 0x398]
push edx
lea ecx, [edi + 0x3c]
call fcn.0045aca9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x3a4]
call fcn.00404749
cmp dword [esp + 0x3b0], 0x10
mov eax, dword [esp + 0x39c]
jae 0x45e3e3
lea eax, [esp + 0x39c]
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004798f8
add esp, 8
cmp eax, ebx
je 0x45e449
mov esi, dword [esp + 0x18]
add esi, 0x48
push eax
lea ecx, [esp + 0x150]
call fcn.00404a19
lea edx, [esp + 0x14c]
push edx
mov ecx, esi
mov byte [esp + 0x5dc], 0x51
call fcn.0044e8d9
push ebx
push 1
lea ecx, [esp + 0x154]
mov byte [esp + 0x5e0], 0x50
call fcn.00404359
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004798f8
add esp, 8
cmp eax, ebx
jne 0x45e3fc
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x110]
mov dword [esp + 0xd0], ecx
push eax
lea ecx, [edi + 0x48]
mov dword [esp + 0xd0], esi
call fcn.00408d49
push ebx
push 1
lea ecx, [esp + 0x3a0]
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x34c]
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x384]
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x138]
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x330]
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x2f8]
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x314]
call fcn.00404359
mov eax, dword [esp + 0x88]
cmp eax, ebx
je 0x45e4f4
push eax
call fcn.00475c61
add esp, 4
push ebx
push 1
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x2c0]
call fcn.00404359
push ebx
push 1
lea ecx, [esp + 0x2dc]
mov byte [esp + 0x5e0], 0x26
call fcn.00404359
add esi, 1
cmp esi, dword [esp + 0xa4]
mov dword [esp + 0x24], esi
jl 0x45d0e9
lea ecx, [esp + 0xa8]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x288]
call fcn.00404359
lea ecx, [esp + 0xb8]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x250]
call fcn.00404359
lea ecx, [esp + 0x94]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x234]
call fcn.00404359
lea ecx, [esp + 0x68]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x1fc]
call fcn.00404359
lea ecx, [esp + 0x54]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x1a8]
call fcn.00404359
lea ecx, [esp + 0x40]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x170]
call fcn.00404359
lea ecx, [esp + 0x2c]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x26c]
call fcn.00404359
mov al, 1
mov ecx, dword [esp + 0x5d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5b8]
xor ecx, esp
call fcn.004761ea
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45e646
push 0x4a4a84
call fcn.00450119
mov edx, dword [esp + 0x88]
cmp edx, ebx
je 0x45e653
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1f0], edi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
jb 0x45e681
mov ecx, dword [esp + 0x1dc]
push ecx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x2d0], edi
mov esi, 0xf
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1ec], ebx
mov byte [esp + 0x1dc], bl
jb 0x45e6b4
mov edx, dword [esp + 0x2bc]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x2ec], edi
mov dword [esp + 0x2d0], esi
mov dword [esp + 0x2cc], ebx
mov byte [esp + 0x2bc], bl
jb 0x45e6e2
mov eax, dword [esp + 0x2d8]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x2ec], esi
mov dword [esp + 0x2e8], ebx
mov byte [esp + 0x2d8], bl
call fcn.0040ff99
cmp dword [esp + 0x298], edi
jb 0x45e71c
mov ecx, dword [esp + 0x284]
push ecx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0xb8]
mov dword [esp + 0x298], esi
mov dword [esp + 0x294], ebx
mov byte [esp + 0x284], bl
call fcn.0040ff99
cmp dword [esp + 0x260], edi
jb 0x45e756
mov edx, dword [esp + 0x24c]
push edx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x94]
mov dword [esp + 0x260], esi
mov dword [esp + 0x25c], ebx
mov byte [esp + 0x24c], bl
call fcn.0040ff99
cmp dword [esp + 0x244], edi
jb 0x45e790
mov eax, dword [esp + 0x230]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0x244], esi
mov dword [esp + 0x240], ebx
mov byte [esp + 0x230], bl
call fcn.0040ff99
cmp dword [esp + 0x20c], edi
jb 0x45e7c7
mov ecx, dword [esp + 0x1f8]
push ecx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x20c], esi
mov dword [esp + 0x208], ebx
mov byte [esp + 0x1f8], bl
call fcn.0040ff99
cmp dword [esp + 0x1b8], edi
jb 0x45e7fe
mov edx, dword [esp + 0x1a4]
push edx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x40]
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0x1a4], bl
call fcn.0040ff99
cmp dword [esp + 0x180], edi
jb 0x45e835
mov eax, dword [esp + 0x16c]
push eax
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [esp + 0x180], esi
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x16c], bl
call fcn.0040ff99
cmp dword [esp + 0x27c], edi
jmp 0x45c5f1
mov ecx, dword [0x4c7aac]
cmp ecx, ebx
je 0x45e873
push 0x4a4a50
call fcn.00450119
cmp dword [esp + 0x340], 0x10
jb 0x45e88d
mov edx, dword [esp + 0x32c]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x308], 0x10
mov dword [esp + 0x340], 0xf
mov dword [esp + 0x33c], ebx
mov byte [esp + 0x32c], bl
jb 0x45e8c0
mov eax, dword [esp + 0x2f4]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x324], 0x10
mov dword [esp + 0x308], 0xf
mov dword [esp + 0x304], ebx
mov byte [esp + 0x2f4], bl
jb 0x45e8f3
mov ecx, dword [esp + 0x310]
push ecx
call fcn.00475c61
add esp, 4
mov eax, dword [esp + 0x88]
cmp eax, ebx
mov dword [esp + 0x324], 0xf
mov dword [esp + 0x320], ebx
mov byte [esp + 0x310], bl
je 0x45e920
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x1f0], 0x10
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
jb 0x45e94f
mov edx, dword [esp + 0x1dc]
push edx
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x2d0], 0x10
mov dword [esp + 0x1f0], 0xf
mov dword [esp + 0x1ec], ebx
mov byte [esp + 0x1dc], bl
jb 0x45e982
mov eax, dword [esp + 0x2bc]
push eax
call fcn.00475c61
add esp, 4
cmp dword [esp + 0x2ec], 0x10
mov dword [esp + 0x2d0], 0xf
mov dword [esp + 0x2cc], ebx
mov byte [esp + 0x2bc], bl
jb 0x45e9b5
mov ecx, dword [esp + 0x2d8]
push ecx
call fcn.00475c61
add esp, 4
mov esi, 0xf
lea ecx, [esp + 0xa8]
mov dword [esp + 0x2ec], esi
mov dword [esp + 0x2e8], ebx
mov byte [esp + 0x2d8], bl
call fcn.0040ff99
cmp dword [esp + 0x298], 0x10
jb 0x45e9f5
mov edx, dword [esp + 0x284]
push edx
call fcn.00475c61
add esp, 4
lea ecx, [esp + 0xb8]
mov dword [esp + 0x298], esi
mov dword [esp + 0x294], ebx
mov byte [esp + 0x284], bl
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x250]
call fcn.00404359
lea ecx, [esp + 0x94]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x234]
call fcn.00404359
lea ecx, [esp + 0x68]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x1fc]
call fcn.00404359
lea ecx, [esp + 0x54]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x1a8]
call fcn.00404359
lea ecx, [esp + 0x40]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x170]
call fcn.00404359
lea ecx, [esp + 0x2c]
call fcn.0040ff99
push ebx
push 1
lea ecx, [esp + 0x26c]
call fcn.00404359
xor al, al
jmp 0x45e605