Function at 0x4d7e20
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x60d990
mov eax, dword fs:[0]
push eax
sub esp, 0x628
push ebx
push ebp
push esi
push edi
mov eax, dword [0x711ab8]
xor eax, esp
push eax
lea eax, [esp + 0x63c]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [esp + 0x14]
push eax
mov ecx, 0x6da688
call fcn.0040b760
xor ebp, ebp
mov dword [esp + 0x644], ebp
lea ecx, [esp + 0x2c]
push ecx
mov ecx, 0x6da70c
call fcn.0040b760
mov byte [esp + 0x644], 1
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x90]
push esi
push ecx
call fcn.004d7c20
add esp, 0x10
mov byte [esp + 0x644], 3
lea ecx, [esp + 0x2c]
call fcn.0040b810
mov byte [esp + 0x644], 4
lea ecx, [esp + 0x14]
call fcn.0040b810
mov edx, dword [esp + 0x98]
sub edx, dword [esp + 0x94]
sar edx, 2
cmp edx, 1
jbe 0x4da5f3
lea ecx, [esp + 0x1c]
call fcn.004d60e0
mov byte [esp + 0x644], 5
mov ebx, dword [esi]
lea eax, [esp + 0x28]
call fcn.00419980
mov eax, dword [esp + 0x98]
sub eax, dword [esp + 0x94]
sar eax, 2
test eax, eax
ja 0x4d7f0b
call fcn.005c475a
mov eax, dword [esp + 0x94]
lea ebx, [esp + 0x1c]
call fcn.0040dcb0
mov esi, dword [esp + 0x98]
sub esi, dword [esp + 0x94]
xor ecx, ecx
sar esi, 2
dec esi
mov eax, esi
mov edx, 0x2c
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.005c2957
add esp, 4
mov dword [esp + 0x70], eax
mov byte [esp + 0x644], 6
cmp eax, ebp
je 0x4d7f7e
push fcn.004daa10
push fcn.004d6060
push esi
lea edi, [eax + 4]
push 0x2c
push edi
mov dword [eax], esi
call fcn.005c6744
jmp 0x4d7f80
xor edi, edi
mov byte [esp + 0x644], 5
mov eax, dword [esp + 0x98]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x20], edi
sar eax, 2
mov dword [esp + 0x2c], 1
cmp eax, 1
jbe 0x4da54b
mov edi, edi
cmp dword [esp + 0x2c], eax
jb 0x4d7fbb
call fcn.005c475a
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x94]
mov eax, dword [edx + ecx*4]
sub eax, 0x10
call fcn.0040f990
add eax, 0x10
mov dword [esp + 0x14], eax
mov ebx, 8
mov byte [esp + 0x644], bl
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da710
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d823c
sub eax, ecx
jne 0x4d823c
lea eax, [esp + 0x14c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [ebx - 3]
call fcn.00451980
mov byte [esp + 0x644], 9
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x14c]
call fcn.0040b810
lea edx, [esp + 0x5c]
push edx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0xa
lea eax, [esp + 0x5c]
push eax
push 0x6cb960
mov ecx, ebx
push ecx
lea edx, [esp + 0xf4]
push edx
call fcn.004c21d0
add esp, 0x10
mov bl, 0xc
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x5c]
call fcn.0040b810
mov eax, dword [esp + 0xf8]
sub eax, dword [esp + 0xf4]
sar eax, 2
cmp eax, 2
jne 0x4d8171
lea ecx, [esp + 0x504]
call fcn.004d6060
mov byte [esp + 0x644], 0xd
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov edx, ecx
sub edx, eax
sar edx, 2
mov dword [esp + 0x504], ebp
cmp edx, 1
ja 0x4d80f5
call fcn.005c475a
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov edi, dword [eax + 4]
sub ecx, eax
sar ecx, 2
test ecx, ecx
ja 0x4d810d
call fcn.005c475a
mov eax, dword [esp + 0xf4]
mov esi, dword [eax]
push edi
call fcn.005c6254
add esp, 4
push esi
mov edi, eax
call fcn.005c6254
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x28]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x24]
mov dword [esp + 0x510], edi
inc eax
add esp, 4
lea edi, [esp + 0x504]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], bl
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0xe8]
jmp 0x4da4fb
cmp eax, 1
jne 0x4da627
lea ecx, [esp + 0x4ac]
call fcn.004d6060
mov byte [esp + 0x644], 0xe
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov edx, ecx
sub edx, eax
sar edx, 2
mov dword [esp + 0x4ac], ebp
test edx, edx
ja 0x4d81c1
call fcn.005c475a
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov edi, dword [eax]
sub ecx, eax
sar ecx, 2
test ecx, ecx
ja 0x4d81d8
call fcn.005c475a
mov eax, dword [esp + 0xf4]
mov esi, dword [eax]
push edi
call fcn.005c6254
add esp, 4
push esi
mov edi, eax
call fcn.005c6254
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x28]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x24]
mov dword [esp + 0x4b8], edi
inc eax
add esp, 4
lea edi, [esp + 0x4ac]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], bl
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0xe8]
jmp 0x4da4fb
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da718
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d82ab
sub eax, ecx
jne 0x4d82ab
lea ecx, [esp + 0x5e0]
call fcn.004d6060
mov byte [esp + 0x644], 0xf
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x5e0]
mov dword [esp + 0x5e0], ebx
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], bl
mov ecx, edi
call fcn.004daa10
jmp 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da728
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d831e
sub eax, ecx
jne 0x4d831e
lea ecx, [esp + 0x588]
call fcn.004d6060
mov byte [esp + 0x644], 0x10
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x588]
mov dword [esp + 0x588], 9
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], bl
mov ecx, edi
call fcn.004daa10
jmp 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da738
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d8391
sub eax, ecx
jne 0x4d8391
lea ecx, [esp + 0x5b4]
call fcn.004d6060
mov byte [esp + 0x644], 0x11
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x5b4]
mov dword [esp + 0x5b4], 5
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], bl
mov ecx, edi
call fcn.004daa10
jmp 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da748
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d83b8
sub eax, ecx
je 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da6ec
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d85a1
sub eax, ecx
jne 0x4d85a1
lea ecx, [esp + 0x168]
push ecx
lea edx, [esp + 0x18]
push edx
mov edx, ebx
call fcn.00451980
mov byte [esp + 0x644], 0x12
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x168]
call fcn.0040b810
lea eax, [esp + 0x78]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x13
lea ecx, [esp + 0x78]
push ecx
push 0x6cb960
mov edx, ebx
push edx
lea eax, [esp + 0x2a8]
push eax
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x15
lea ecx, [esp + 0x78]
call fcn.0040b810
mov ecx, dword [esp + 0x2ac]
sub ecx, dword [esp + 0x2a8]
sar ecx, 2
cmp ecx, 1
jbe 0x4da652
lea ecx, [esp + 0x3e4]
call fcn.004d6060
mov bl, 0x16
mov byte [esp + 0x644], bl
push 0x10
mov dword [esp + 0x3e8], 1
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x17
cmp eax, ebp
je 0x4d84be
mov ecx, eax
call fcn.004d5f70
jmp 0x4d84c0
xor eax, eax
mov byte [esp + 0x644], bl
xor edi, edi
lea esi, [esp + 0x29c]
mov dword [esp + 0x3f0], eax
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov edx, dword [esp + 0x3f4]
add esp, 4
mov edi, 1
mov dword [edx + 4], eax
call fcn.00424a10
mov eax, dword [eax]
push eax
lea eax, [esp + 0x158]
push eax
call fcn.004c1530
add esp, 8
mov byte [esp + 0x644], 0x18
mov edi, dword [esp + 0x3f0]
add edi, 8
call fcn.0040ddb0
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x154]
call fcn.0040ba40
mov esi, dword [esp + 0x3f0]
add esi, 8
call fcn.004dcc20
test al, al
je 0x4d855f
mov eax, dword [esp + 0x3f0]
add eax, 8
mov ebx, 0x6dbf65
call fcn.00419980
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x3e4]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x15
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x29c]
push ecx
jmp 0x4da4fc
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da754
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d879d
sub eax, ecx
jne 0x4d879d
lea edx, [esp + 0x11c]
push edx
lea eax, [esp + 0x18]
push eax
mov edx, 9
call fcn.00451980
mov byte [esp + 0x644], 0x19
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x11c]
call fcn.0040b810
lea ecx, [esp + 0x80]
push ecx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x1a
lea edx, [esp + 0x80]
push edx
push 0x6cb960
mov eax, ebx
push eax
lea ecx, [esp + 0x290]
push ecx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x1c
lea ecx, [esp + 0x80]
call fcn.0040b810
mov edx, dword [esp + 0x294]
sub edx, dword [esp + 0x290]
sar edx, 2
cmp edx, 1
jbe 0x4da664
lea ecx, [esp + 0x35c]
call fcn.004d6060
mov bl, 0x1d
mov byte [esp + 0x644], bl
push 0x10
mov dword [esp + 0x360], 1
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x1e
cmp eax, ebp
je 0x4d86b3
mov ecx, eax
call fcn.004d5f70
jmp 0x4d86b5
xor eax, eax
mov byte [esp + 0x644], bl
xor edi, edi
lea esi, [esp + 0x284]
mov dword [esp + 0x368], eax
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x36c]
add esp, 4
mov edi, 1
mov dword [ecx + 4], eax
call fcn.00424a10
mov eax, dword [eax]
push eax
lea edx, [esp + 0x124]
push edx
call fcn.004c1530
add esp, 8
mov byte [esp + 0x644], 0x1f
mov edi, dword [esp + 0x368]
add edi, 8
call fcn.0040ddb0
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x120]
call fcn.0040ba40
mov esi, dword [esp + 0x368]
add esi, 8
call fcn.004dcc20
test al, al
je 0x4d8754
mov eax, dword [esp + 0x368]
add eax, 8
mov ebx, 0x6dbf65
call fcn.00419980
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x35c]
mov byte [esp + 0x384], 1
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x1c
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0x284]
jmp 0x4da4fb
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da6ac
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d8bd6
sub eax, ecx
jne 0x4d8bd6
lea ecx, [esp + 0x128]
push ecx
lea edx, [esp + 0x18]
push edx
mov edx, ebx
call fcn.00451980
mov byte [esp + 0x644], 0x20
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x128]
call fcn.0040b810
lea eax, [esp + 0x38]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x21
lea ecx, [esp + 0x38]
push ecx
push 0x6cb960
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0xdc]
push eax
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x23
lea ecx, [esp + 0x38]
call fcn.0040b810
mov ecx, dword [esp + 0xe0]
sub ecx, dword [esp + 0xdc]
sar ecx, 2
cmp ecx, 1
jbe 0x4da69b
lea ecx, [esp + 0x1cc]
call fcn.004d6060
mov bl, 0x24
mov byte [esp + 0x644], bl
push 0x18
mov dword [esp + 0x1d0], 2
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x25
cmp eax, ebp
je 0x4d88a6
mov ecx, eax
call fcn.004d5df0
jmp 0x4d88a8
xor eax, eax
mov byte [esp + 0x644], bl
mov edi, 1
lea esi, [esp + 0xd0]
mov dword [esp + 0x1dc], eax
call fcn.00424a10
mov ebx, dword [esp + 0x1dc]
add ebx, 0xc
call fcn.0040dcb0
mov edx, dword [esp + 0x1dc]
mov eax, dword [edx + 0xc]
mov eax, dword [eax - 0xc]
cmp eax, ebp
je 0x4da676
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.005c2957
mov ecx, dword [esp + 0x1e0]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x1e0]
mov edx, dword [eax + 0x10]
add esp, 4
lea ebx, [eax + 0xc]
call fcn.004d62a0
xor edi, edi
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d893e
push 0x6da6b8
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d893e
sub eax, dword [esi]
cmp eax, 0xffffffff
jne 0x4d8966
xor edi, edi
lea esi, [esp + 0xd0]
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov edx, dword [esp + 0x1e0]
add esp, 4
mov dword [edx + 8], eax
jmp 0x4d8b94
xor edi, edi
lea esi, [esp + 0xd0]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d8a5b
push 0x6da6bc
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d8a5b
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4d8a5b
lea eax, [esp + 0x6c]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x26
lea ecx, [esp + 0x6c]
push ecx
push 0x6da6bc
lea esi, [esp + 0xd8]
call fcn.00424a10
push eax
lea edx, [esp + 0x2c0]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x28
lea ecx, [esp + 0x6c]
call fcn.0040b810
mov eax, dword [esp + 0x2c4]
sub eax, dword [esp + 0x2c0]
and eax, 0xfffffffc
cmp eax, 8
jne 0x4d8a41
lea esi, [esp + 0x2b4]
call fcn.00424a10
mov ebx, dword [esp + 0x1dc]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x1e0]
add esp, 4
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x24
lea edx, [esp + 0x2b4]
push edx
call fcn.0041cb00
jmp 0x4d8b74
mov edi, 1
lea esi, [esp + 0x88]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d8b4d
push 0x6da6c0
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d8b4d
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4d8b4d
lea eax, [esp + 0x40]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x29
lea ecx, [esp + 0x40]
push ecx
push 0x6da6c0
xor edi, edi
lea esi, [esp + 0xd8]
call fcn.00424a10
push eax
lea edx, [esp + 0x474]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x2b
lea ecx, [esp + 0x40]
call fcn.0040b810
mov eax, dword [esp + 0x478]
sub eax, dword [esp + 0x474]
and eax, 0xfffffffc
cmp eax, 8
jne 0x4d8b36
call fcn.00424a10
mov ebx, dword [esp + 0x1dc]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x1e0]
add esp, 4
neg eax
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x24
lea edx, [esp + 0x468]
push edx
call fcn.0041cb00
jmp 0x4d8b74
xor edi, edi
lea esi, [esp + 0xd0]
call fcn.00424a10
mov ebx, dword [esp + 0x1dc]
add ebx, 4
call fcn.0040dcb0
mov eax, dword [esp + 0x1dc]
mov dword [eax + 8], ebp
mov eax, dword [esp + 0x1dc]
add eax, 4
push 0x6da6b8
call fcn.0041cd10
mov edi, eax
mov eax, 0x6da6b8
call fcn.0041cd70
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x1cc]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x23
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea ecx, [esp + 0xd0]
push ecx
jmp 0x4da4fc
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da760
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d902a
sub eax, ecx
jne 0x4d902a
lea edx, [esp + 0x130]
push edx
lea eax, [esp + 0x18]
push eax
mov edx, 9
call fcn.00451980
mov byte [esp + 0x644], 0x2c
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x130]
call fcn.0040b810
lea ecx, [esp + 0x84]
push ecx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x2d
lea edx, [esp + 0x84]
push edx
push 0x6cb960
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x10c]
push ecx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x2f
lea ecx, [esp + 0x84]
call fcn.0040b810
mov edx, dword [esp + 0x110]
sub edx, dword [esp + 0x10c]
sar edx, 2
cmp edx, 1
jbe 0x4da6d5
lea ecx, [esp + 0x1a0]
call fcn.004d6060
mov bl, 0x30
mov byte [esp + 0x644], bl
push 0x18
mov dword [esp + 0x1a4], 2
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x31
cmp eax, ebp
je 0x4d8ceb
mov ecx, eax
call fcn.004d5df0
jmp 0x4d8ced
xor eax, eax
mov byte [esp + 0x644], bl
mov edi, 1
lea esi, [esp + 0x100]
mov dword [esp + 0x1b0], eax
call fcn.00424a10
mov ebx, dword [esp + 0x1b0]
add ebx, 0xc
call fcn.0040dcb0
mov eax, dword [esp + 0x1b0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx - 0xc]
cmp eax, ebp
je 0x4da6ac
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.005c2957
mov edx, dword [esp + 0x1b4]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x1b4]
mov edx, dword [eax + 0x10]
add esp, 4
lea ebx, [eax + 0xc]
call fcn.004d62a0
xor edi, edi
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d8d83
push 0x6da6b8
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d8d83
sub eax, dword [esi]
cmp eax, 0xffffffff
jne 0x4d8dab
xor edi, edi
lea esi, [esp + 0x100]
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x1b4]
add esp, 4
mov dword [ecx + 8], eax
jmp 0x4d8fe0
xor edi, edi
lea esi, [esp + 0x100]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d8ea0
push 0x6da6bc
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d8ea0
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4d8ea0
lea edx, [esp + 0x48]
push edx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x32
lea eax, [esp + 0x48]
push eax
push 0x6da6bc
lea esi, [esp + 0x108]
call fcn.00424a10
push eax
lea ecx, [esp + 0x2d8]
push ecx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x34
lea ecx, [esp + 0x48]
call fcn.0040b810
mov edx, dword [esp + 0x2dc]
sub edx, dword [esp + 0x2d8]
and edx, 0xfffffffc
cmp edx, 8
jne 0x4d8e86
lea esi, [esp + 0x2cc]
call fcn.00424a10
mov ebx, dword [esp + 0x1b0]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x1b4]
add esp, 4
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x30
lea edx, [esp + 0x2cc]
push edx
call fcn.0041cb00
jmp 0x4d8fc0
mov edi, 1
lea esi, [esp + 0x88]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d8f99
push 0x6da6c0
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d8f99
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4d8f99
lea eax, [esp + 0x74]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x35
lea ecx, [esp + 0x74]
push ecx
push 0x6da6c0
xor edi, edi
lea esi, [esp + 0x108]
call fcn.00424a10
push eax
lea edx, [esp + 0x308]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x37
lea ecx, [esp + 0x74]
call fcn.0040b810
mov eax, dword [esp + 0x30c]
sub eax, dword [esp + 0x308]
and eax, 0xfffffffc
cmp eax, 8
jne 0x4d8f82
lea esi, [esp + 0x2fc]
call fcn.00424a10
mov ebx, dword [esp + 0x1b0]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x1b4]
add esp, 4
neg eax
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x30
lea edx, [esp + 0x2fc]
push edx
call fcn.0041cb00
jmp 0x4d8fc0
xor edi, edi
lea esi, [esp + 0x100]
call fcn.00424a10
mov ebx, dword [esp + 0x1b0]
add ebx, 4
call fcn.0040dcb0
mov eax, dword [esp + 0x1b0]
mov dword [eax + 8], ebp
mov eax, dword [esp + 0x1b0]
add eax, 4
push 0x6da6b8
call fcn.0041cd10
mov edi, eax
mov eax, 0x6da6b8
call fcn.0041cd70
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x1a0]
mov byte [esp + 0x1c8], 1
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x2f
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x100]
push ecx
jmp 0x4da4fc
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da6dc
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d91e2
sub eax, ecx
jne 0x4d91e2
lea edx, [esp + 0x138]
push edx
lea eax, [esp + 0x18]
push eax
mov edx, 0xa
call fcn.00451980
mov byte [esp + 0x644], 0x38
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x138]
call fcn.0040b810
lea ecx, [esp + 0x50]
push ecx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x39
lea edx, [esp + 0x50]
push edx
push 0x6cb960
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x230]
push ecx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x3b
lea ecx, [esp + 0x50]
call fcn.0040b810
mov edx, dword [esp + 0x234]
sub edx, dword [esp + 0x230]
sar edx, 2
cmp edx, 1
jbe 0x4da6e8
lea ecx, [esp + 0x480]
call fcn.004d6060
mov bl, 0x3c
mov byte [esp + 0x644], bl
push 0x10
mov dword [esp + 0x484], 3
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x3d
cmp eax, ebp
je 0x4d9135
push eax
call fcn.004d5f00
jmp 0x4d9137
xor eax, eax
mov byte [esp + 0x644], bl
xor edi, edi
lea esi, [esp + 0x224]
mov dword [esp + 0x494], eax
call fcn.00424a10
push eax
mov ecx, 0x6da6e8
call fcn.004428c0
add esp, 4
test al, al
je 0x4d9180
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x498]
add esp, 4
dec eax
mov dword [ecx + 4], eax
mov edi, 1
lea esi, [esp + 0x224]
call fcn.00424a10
mov ebx, dword [esp + 0x494]
add ebx, 8
call fcn.0040dcb0
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x480]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x3b
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea edx, [esp + 0x224]
push edx
jmp 0x4da4fc
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da76c
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d93a2
sub eax, ecx
jne 0x4d93a2
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x18]
push ecx
mov edx, 0xb
call fcn.00451980
mov byte [esp + 0x644], 0x3e
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x140]
call fcn.0040b810
lea edx, [esp + 0x7c]
push edx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x3f
lea eax, [esp + 0x7c]
push eax
push 0x6cb960
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x278]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x41
lea ecx, [esp + 0x7c]
call fcn.0040b810
mov eax, dword [esp + 0x27c]
sub eax, dword [esp + 0x278]
sar eax, 2
cmp eax, 1
jbe 0x4da6fc
lea ecx, [esp + 0x410]
call fcn.004d6060
mov bl, 0x42
mov byte [esp + 0x644], bl
push 0x10
mov dword [esp + 0x414], 3
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x43
cmp eax, ebp
je 0x4d92ed
push eax
call fcn.004d5f00
jmp 0x4d92ef
xor eax, eax
mov byte [esp + 0x644], bl
xor edi, edi
lea esi, [esp + 0x26c]
mov dword [esp + 0x424], eax
call fcn.00424a10
push eax
mov ecx, 0x6da6e8
call fcn.004428c0
add esp, 4
test al, al
je 0x4d9338
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x428]
add esp, 4
dec eax
mov dword [ecx + 4], eax
mov edi, 1
lea esi, [esp + 0x26c]
call fcn.00424a10
mov ebx, dword [esp + 0x424]
add ebx, 8
call fcn.0040dcb0
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x410]
mov byte [esp + 0x438], 1
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x41
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea edx, [esp + 0x26c]
push edx
jmp 0x4da4fc
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da678
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d946f
sub eax, ecx
jne 0x4d946f
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x18]
push ecx
mov edx, 0xd
call fcn.00451980
mov byte [esp + 0x644], 0x44
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x148]
call fcn.0040b810
lea ecx, [esp + 0x4d8]
call fcn.004d6060
mov byte [esp + 0x644], 0x45
mov eax, ebx
lea ebx, [esp + 0x4f8]
mov dword [esp + 0x4d8], 4
call fcn.0040dcb0
mov edi, ebx
call fcn.0041c8d0
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x4d8]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 8
mov ecx, edi
call fcn.004daa10
jmp 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da69c
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d95b1
sub eax, ecx
jne 0x4d95b1
lea edx, [esp + 0x170]
push edx
lea eax, [esp + 0x18]
push eax
mov edx, ebx
call fcn.00451980
mov byte [esp + 0x644], 0x46
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x170]
call fcn.0040b810
lea ecx, [esp + 0x55c]
call fcn.004d6060
mov byte [esp + 0x644], 0x47
lea ecx, [esp + 0x58]
push ecx
mov ecx, 0x6da688
mov dword [esp + 0x560], 5
call fcn.0040b760
mov byte [esp + 0x644], 0x48
lea edx, [esp + 0x58]
push edx
push 0x6cb960
mov eax, ebx
push eax
lea ecx, [esp + 0x394]
push ecx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x4a
lea ecx, [esp + 0x58]
call fcn.0040b810
mov edx, dword [esp + 0x398]
sub edx, dword [esp + 0x394]
sar edx, 2
cmp edx, 1
jbe 0x4d956a
mov edi, 1
lea esi, [esp + 0x388]
call fcn.00424a10
lea ebx, [esp + 0x580]
call fcn.0040dcb0
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x55c]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x47
lea eax, [esp + 0x388]
push eax
call fcn.0041cb00
mov byte [esp + 0x644], 8
mov ecx, edi
call fcn.004daa10
jmp 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da778
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d96fc
sub eax, ecx
jne 0x4d96fc
lea ecx, [esp + 0x124]
push ecx
lea edx, [esp + 0x18]
push edx
lea edx, [eax + 9]
call fcn.00451980
mov byte [esp + 0x644], 0x4b
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov byte [esp + 0x644], 8
lea ecx, [esp + 0x124]
call fcn.0040b810
lea ecx, [esp + 0x530]
call fcn.004d6060
mov byte [esp + 0x644], 0x4c
lea eax, [esp + 0x64]
push eax
mov ecx, 0x6da688
mov dword [esp + 0x534], 5
call fcn.0040b760
mov byte [esp + 0x644], 0x4d
lea ecx, [esp + 0x64]
push ecx
push 0x6cb960
mov edx, ebx
push edx
lea eax, [esp + 0x3ac]
push eax
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x4f
lea ecx, [esp + 0x64]
call fcn.0040b810
mov ecx, dword [esp + 0x3b0]
sub ecx, dword [esp + 0x3ac]
sar ecx, 2
cmp ecx, 1
jbe 0x4d96ad
mov edi, 1
lea esi, [esp + 0x3a0]
call fcn.00424a10
lea ebx, [esp + 0x554]
call fcn.0040dcb0
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x530]
mov byte [esp + 0x558], 1
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x4c
lea edx, [esp + 0x3a0]
push edx
call fcn.0041cb00
mov byte [esp + 0x644], 8
mov ecx, edi
call fcn.004daa10
jmp 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da6d0
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d993c
sub eax, ecx
jne 0x4d993c
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x18]
push ecx
mov edx, 9
call fcn.00451980
mov byte [esp + 0x644], 0x50
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x15c]
call fcn.0040b810
lea edx, [esp + 0x30]
push edx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x51
lea eax, [esp + 0x30]
push eax
push 0x6cb960
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x248]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x53
lea ecx, [esp + 0x30]
call fcn.0040b810
mov eax, dword [esp + 0x24c]
sub eax, dword [esp + 0x248]
sar eax, 2
cmp eax, 2
jbe 0x4da710
lea ecx, [esp + 0x43c]
call fcn.004d6060
mov bl, 0x54
mov byte [esp + 0x644], bl
push 0x14
mov dword [esp + 0x440], 6
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x55
cmp eax, ebp
je 0x4d9807
push eax
call fcn.004d5e80
jmp 0x4d9809
xor eax, eax
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x134]
push ecx
mov ecx, 0x6d2dd4
mov dword [esp + 0x458], eax
call fcn.0040b760
mov ebx, eax
mov byte [esp + 0x644], 0x56
xor edi, edi
lea esi, [esp + 0x23c]
call fcn.00424a10
push eax
lea edx, [esp + 0x170]
push edx
mov ecx, ebx
call fcn.004245c0
mov byte [esp + 0x64c], 0x57
lea ecx, [esp + 0x134]
push 0x6d2dd4
push ecx
mov ecx, eax
call fcn.00424670
add esp, 0x10
mov byte [esp + 0x644], 0x58
mov ebx, dword [esp + 0x454]
add ebx, 4
call fcn.0040dcb0
mov byte [esp + 0x644], 0x57
lea ecx, [esp + 0x12c]
call fcn.0040b810
mov byte [esp + 0x644], 0x56
lea ecx, [esp + 0x16c]
call fcn.0040b810
mov byte [esp + 0x644], 0x54
lea ecx, [esp + 0x134]
call fcn.0040b810
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov edx, dword [esp + 0x458]
add esp, 4
mov edi, 2
mov dword [edx + 8], eax
call fcn.00424a10
mov ebx, dword [esp + 0x454]
add ebx, 0xc
call fcn.0040dcb0
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x43c]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x53
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0x23c]
jmp 0x4da4fb
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da784
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d9b82
sub eax, ecx
jne 0x4d9b82
lea ecx, [esp + 0x164]
push ecx
lea edx, [esp + 0x18]
push edx
lea edx, [eax + 0xa]
call fcn.00451980
mov byte [esp + 0x644], 0x59
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x164]
call fcn.0040b810
lea eax, [esp + 0x60]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x5a
lea ecx, [esp + 0x60]
push ecx
push 0x6cb960
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x260]
push eax
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x5c
lea ecx, [esp + 0x60]
call fcn.0040b810
mov ecx, dword [esp + 0x264]
sub ecx, dword [esp + 0x260]
sar ecx, 2
cmp ecx, 2
jbe 0x4da723
lea ecx, [esp + 0x3b8]
call fcn.004d6060
mov bl, 0x5d
mov byte [esp + 0x644], bl
push 0x14
mov dword [esp + 0x3bc], 6
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x5e
cmp eax, ebp
je 0x4d9a45
push eax
call fcn.004d5e80
jmp 0x4d9a47
xor eax, eax
mov byte [esp + 0x644], bl
lea edx, [esp + 0x144]
push edx
mov ecx, 0x6d2dd4
mov dword [esp + 0x3d4], eax
call fcn.0040b760
mov ebx, eax
mov byte [esp + 0x644], 0x5f
xor edi, edi
lea esi, [esp + 0x254]
call fcn.00424a10
push eax
lea eax, [esp + 0x154]
push eax
mov ecx, ebx
call fcn.004245c0
mov byte [esp + 0x64c], 0x60
lea ecx, [esp + 0x144]
push 0x6d2dd4
push ecx
mov ecx, eax
call fcn.00424670
add esp, 0x10
mov byte [esp + 0x644], 0x61
mov ebx, dword [esp + 0x3d0]
add ebx, 4
call fcn.0040dcb0
mov byte [esp + 0x644], 0x60
lea ecx, [esp + 0x13c]
call fcn.0040b810
mov byte [esp + 0x644], 0x5f
lea ecx, [esp + 0x150]
call fcn.0040b810
mov byte [esp + 0x644], 0x5d
lea ecx, [esp + 0x144]
call fcn.0040b810
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov edx, dword [esp + 0x3d4]
add esp, 4
mov edi, 2
mov dword [edx + 8], eax
call fcn.00424a10
mov ebx, dword [esp + 0x3d0]
add ebx, 0xc
call fcn.0040dcb0
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x3b8]
mov byte [esp + 0x3e0], 1
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x5c
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0x254]
jmp 0x4da4fb
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da790
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4d9bf5
sub eax, ecx
jne 0x4d9bf5
lea ecx, [esp + 0x60c]
call fcn.004d6060
mov byte [esp + 0x644], 0x62
mov eax, dword [esp + 0x24]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x20]
inc eax
lea edi, [esp + 0x60c]
mov dword [esp + 0x60c], 7
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], bl
mov ecx, edi
call fcn.004daa10
jmp 0x4da501
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da6c4
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da079
sub eax, ecx
jne 0x4da079
lea ecx, [esp + 0x158]
push ecx
lea edx, [esp + 0x18]
push edx
mov edx, ebx
call fcn.00451980
mov byte [esp + 0x644], 0x63
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x158]
call fcn.0040b810
lea eax, [esp + 0x68]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x64
lea ecx, [esp + 0x68]
push ecx
push 0x6cb960
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0xac]
push eax
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x66
lea ecx, [esp + 0x68]
call fcn.0040b810
mov ecx, dword [esp + 0xb0]
sub ecx, dword [esp + 0xac]
sar ecx, 2
cmp ecx, 3
jbe 0x4da760
lea ecx, [esp + 0x1f8]
call fcn.004d6060
mov bl, 0x67
mov byte [esp + 0x644], bl
push 0x1c
mov dword [esp + 0x1fc], 0xa
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x68
cmp eax, ebp
je 0x4d9cfd
push eax
call fcn.004d5fe0
jmp 0x4d9cff
xor eax, eax
mov byte [esp + 0x644], bl
mov edi, 3
lea esi, [esp + 0xa0]
mov dword [esp + 0x214], eax
call fcn.00424a10
push eax
lea edx, [esp + 0x11c]
push edx
call fcn.004c1e00
add esp, 8
mov byte [esp + 0x644], 0x69
mov ebx, dword [esp + 0x214]
push eax
add ebx, 0x14
call fcn.004530c0
mov byte [esp + 0x644], 0x67
lea ebx, [esp + 0x118]
call fcn.004c2420
mov eax, dword [esp + 0x214]
add eax, 0x14
call fcn.00443930
test al, al
jne 0x4da737
xor edi, edi
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d9d9b
push 0x6da6b8
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d9d9b
sub eax, dword [esi]
cmp eax, 0xffffffff
jne 0x4d9dc3
xor edi, edi
lea esi, [esp + 0xa0]
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x218]
add esp, 4
mov dword [ecx + 8], eax
jmp 0x4d9ff3
xor edi, edi
lea esi, [esp + 0xa0]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d9eb8
push 0x6da6bc
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d9eb8
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4d9eb8
lea edx, [esp + 0x34]
push edx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x6a
lea eax, [esp + 0x34]
push eax
push 0x6da6bc
lea esi, [esp + 0xa8]
call fcn.00424a10
push eax
lea ecx, [esp + 0x338]
push ecx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x6c
lea ecx, [esp + 0x34]
call fcn.0040b810
mov edx, dword [esp + 0x33c]
sub edx, dword [esp + 0x338]
and edx, 0xfffffffc
cmp edx, 8
jne 0x4d9e9e
lea esi, [esp + 0x32c]
call fcn.00424a10
mov ebx, dword [esp + 0x214]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x218]
add esp, 4
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x67
lea edx, [esp + 0x32c]
push edx
call fcn.0041cb00
jmp 0x4d9fd3
xor edi, edi
lea esi, [esp + 0xa0]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4d9fac
push 0x6da6c0
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4d9fac
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4d9fac
lea eax, [esp + 0x3c]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x6d
lea ecx, [esp + 0x3c]
push ecx
push 0x6da6c0
lea esi, [esp + 0xa8]
call fcn.00424a10
push eax
lea edx, [esp + 0x350]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x6f
lea ecx, [esp + 0x3c]
call fcn.0040b810
mov eax, dword [esp + 0x354]
sub eax, dword [esp + 0x350]
and eax, 0xfffffffc
cmp eax, 8
jne 0x4d9f95
lea esi, [esp + 0x344]
call fcn.00424a10
mov ebx, dword [esp + 0x214]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x218]
add esp, 4
neg eax
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x67
lea edx, [esp + 0x344]
push edx
call fcn.0041cb00
jmp 0x4d9fd3
xor edi, edi
lea esi, [esp + 0xa0]
call fcn.00424a10
mov ebx, dword [esp + 0x214]
add ebx, 4
call fcn.0040dcb0
mov eax, dword [esp + 0x214]
mov dword [eax + 8], ebp
mov eax, dword [esp + 0x214]
add eax, 4
push 0x6da6b8
call fcn.0041cd10
mov edi, eax
mov eax, 0x6da6b8
call fcn.0041cd70
mov edi, 1
lea esi, [esp + 0xa0]
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x218]
add esp, 4
mov edi, 2
mov dword [ecx + 0xc], eax
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov edx, dword [esp + 0x218]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x28]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x24]
inc eax
add esp, 4
lea edi, [esp + 0x1f8]
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x66
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0xa0]
jmp 0x4da4fb
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da79c
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da7b0
sub eax, ecx
jne 0x4da7b0
lea ecx, [esp + 0x160]
push ecx
lea edx, [esp + 0x18]
push edx
lea edx, [eax + 9]
call fcn.00451980
mov byte [esp + 0x644], 0x70
lea ebx, [esp + 0x14]
call fcn.0040dcb0
mov bl, 8
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x160]
call fcn.0040b810
lea eax, [esp + 0x44]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x71
lea ecx, [esp + 0x44]
push ecx
push 0x6cb960
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0xc4]
push eax
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x73
lea ecx, [esp + 0x44]
call fcn.0040b810
mov ecx, dword [esp + 0xc8]
sub ecx, dword [esp + 0xc4]
sar ecx, 2
cmp ecx, 3
jbe 0x4da79c
lea ecx, [esp + 0x174]
call fcn.004d6060
mov bl, 0x74
mov byte [esp + 0x644], bl
push 0x1c
mov dword [esp + 0x178], 0xa
call fcn.005c39f5
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x644], 0x75
cmp eax, ebp
je 0x4da182
push eax
call fcn.004d5fe0
jmp 0x4da184
xor eax, eax
mov byte [esp + 0x644], bl
mov edi, 3
lea esi, [esp + 0xb8]
mov dword [esp + 0x190], eax
call fcn.00424a10
push eax
lea edx, [esp + 0x74]
push edx
call fcn.004c1e00
add esp, 8
mov byte [esp + 0x644], 0x76
mov ebx, dword [esp + 0x190]
push eax
add ebx, 0x14
call fcn.004530c0
mov byte [esp + 0x644], 0x74
lea ebx, [esp + 0x70]
call fcn.004c2420
mov eax, dword [esp + 0x190]
add eax, 0x14
call fcn.00443930
test al, al
jne 0x4da773
xor edi, edi
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4da21a
push 0x6da6b8
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4da21a
sub eax, dword [esi]
cmp eax, 0xffffffff
jne 0x4da242
xor edi, edi
lea esi, [esp + 0xb8]
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x194]
add esp, 4
mov dword [ecx + 8], eax
jmp 0x4da472
xor edi, edi
lea esi, [esp + 0xb8]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4da337
push 0x6da6bc
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4da337
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4da337
lea edx, [esp + 0x4c]
push edx
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x77
lea eax, [esp + 0x4c]
push eax
push 0x6da6bc
lea esi, [esp + 0xc0]
call fcn.00424a10
push eax
lea ecx, [esp + 0x2f0]
push ecx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x79
lea ecx, [esp + 0x4c]
call fcn.0040b810
mov edx, dword [esp + 0x2f4]
sub edx, dword [esp + 0x2f0]
and edx, 0xfffffffc
cmp edx, 8
jne 0x4da31d
lea esi, [esp + 0x2e4]
call fcn.00424a10
mov ebx, dword [esp + 0x190]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x194]
add esp, 4
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x74
lea edx, [esp + 0x2e4]
push edx
call fcn.0041cb00
jmp 0x4da452
xor edi, edi
lea esi, [esp + 0xb8]
call fcn.00424a10
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], ebp
jl 0x4da42b
push 0x6da6c0
push eax
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4da42b
sub eax, dword [esi]
cmp eax, 0xffffffff
je 0x4da42b
lea eax, [esp + 0x54]
push eax
mov ecx, 0x6da688
call fcn.0040b760
mov byte [esp + 0x644], 0x7a
lea ecx, [esp + 0x54]
push ecx
push 0x6da6c0
lea esi, [esp + 0xc0]
call fcn.00424a10
push eax
lea edx, [esp + 0x320]
push edx
call fcn.004c21d0
add esp, 0x10
mov byte [esp + 0x644], 0x7c
lea ecx, [esp + 0x54]
call fcn.0040b810
mov eax, dword [esp + 0x324]
sub eax, dword [esp + 0x320]
and eax, 0xfffffffc
cmp eax, 8
jne 0x4da414
lea esi, [esp + 0x314]
call fcn.00424a10
mov ebx, dword [esp + 0x190]
add ebx, 4
call fcn.0040dcb0
mov edi, 1
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x194]
add esp, 4
neg eax
mov dword [ecx + 8], eax
mov byte [esp + 0x644], 0x74
lea edx, [esp + 0x314]
push edx
call fcn.0041cb00
jmp 0x4da452
xor edi, edi
lea esi, [esp + 0xb8]
call fcn.00424a10
mov ebx, dword [esp + 0x190]
add ebx, 4
call fcn.0040dcb0
mov eax, dword [esp + 0x190]
mov dword [eax + 8], ebp
mov eax, dword [esp + 0x190]
add eax, 4
push 0x6da6b8
call fcn.0041cd10
mov edi, eax
mov eax, 0x6da6b8
call fcn.0041cd70
mov edi, 1
lea esi, [esp + 0xb8]
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov ecx, dword [esp + 0x194]
add esp, 4
mov edi, 2
mov dword [ecx + 0xc], eax
call fcn.00424a10
mov eax, dword [eax]
push eax
call fcn.005c6254
mov edx, dword [esp + 0x194]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x28]
mov esi, eax
imul esi, esi, 0x2c
add esi, dword [esp + 0x24]
inc eax
add esp, 4
lea edi, [esp + 0x174]
mov byte [esp + 0x19c], 1
mov dword [esp + 0x24], eax
call fcn.004d6140
mov byte [esp + 0x644], 0x73
mov ecx, edi
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0xb8]
push eax
call fcn.0041cb00
mov byte [esp + 0x644], 5
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4da529
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x98]
sub eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x2c]
inc ecx
sar eax, 2
mov dword [esp + 0x2c], ecx
cmp ecx, eax
jb 0x4d7fb0
cmp dword [esp + 0x24], ebp
je 0x4da593
mov ecx, dword [esp + 0x64c]
mov eax, dword [ecx + 0x100]
mov ebx, eax
inc eax
shl ebx, 4
add ebx, dword [ecx + 0xfc]
mov dword [ecx + 0x100], eax
lea eax, [esp + 0x1c]
call fcn.0040dcb0
mov ecx, dword [esp + 0x20]
mov dword [ebx + 4], ecx
mov edx, dword [esp + 0x24]
lea edi, [ebx + 0xc]
lea eax, [esp + 0x28]
mov dword [ebx + 8], edx
call fcn.0040ddb0
mov al, 0x7e
mov byte [esp + 0x644], al
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], ecx
mov byte [esp + 0x644], al
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4da5cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x644], 4
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4da5f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x644], 0xffffffff
lea ecx, [esp + 0x88]
push ecx
call fcn.0041cb00
mov ecx, dword [esp + 0x63c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x634
ret 4
mov byte [esp + 0x644], 8
lea ecx, [esp + 0xe8]
push ecx
call fcn.0041cb00
mov byte [esp + 0x644], 5
lea ecx, [esp + 0x14]
call fcn.0040b810
jmp 0x4da593
mov byte [esp + 0x644], 8
lea edx, [esp + 0x29c]
push edx
jmp 0x4da637
mov byte [esp + 0x644], 8
lea eax, [esp + 0x284]
push eax
jmp 0x4da637
mov byte [esp + 0x644], 0x23
lea ecx, [esp + 0x1cc]
call fcn.004daa10
mov byte [esp + 0x644], 8
lea ecx, [esp + 0xd0]
jmp 0x4da636
mov byte [esp + 0x644], bl
lea edx, [esp + 0xd0]
push edx
jmp 0x4da637
mov byte [esp + 0x644], 0x2f
lea ecx, [esp + 0x1a0]
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0x100]
push eax
jmp 0x4da637
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x100]
jmp 0x4da636
mov byte [esp + 0x644], bl
lea edx, [esp + 0x224]
push edx
jmp 0x4da637
mov byte [esp + 0x644], bl
lea eax, [esp + 0x26c]
push eax
jmp 0x4da637
mov byte [esp + 0x644], bl
lea ecx, [esp + 0x23c]
jmp 0x4da636
mov byte [esp + 0x644], bl
lea edx, [esp + 0x254]
push edx
jmp 0x4da637
mov byte [esp + 0x644], 0x66
lea ecx, [esp + 0x1f8]
call fcn.004daa10
mov byte [esp + 0x644], 8
lea eax, [esp + 0xa0]
push eax
jmp 0x4da637
mov byte [esp + 0x644], bl
lea ecx, [esp + 0xa0]
jmp 0x4da636
mov byte [esp + 0x644], 0x73
lea ecx, [esp + 0x174]
call fcn.004daa10
mov byte [esp + 0x644], 8
lea edx, [esp + 0xb8]
push edx
jmp 0x4da637
mov byte [esp + 0x644], bl
lea eax, [esp + 0xb8]
push eax
jmp 0x4da637
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7a8
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da7da
sub eax, ecx
cmp eax, 0xffffffff
jne 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7ac
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da801
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7b8
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da828
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7c0
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da84f
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7cc
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da876
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7d4
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da89d
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7e0
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da8c4
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7e8
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da8eb
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7f0
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da912
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da7fc
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da939
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da804
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da960
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da80c
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da987
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da814
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da9ae
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da81c
push ecx
call fcn.005c4e54
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebp
je 0x4da9d5
sub eax, ecx
je 0x4da63c
cmp dword [ecx - 0xc], ebp
jl 0x4da63c
push 0x6da824
push ecx
call fcn.005c4e54
add esp, 8
cmp eax, ebp
je 0x4da63c
sub eax, dword [esp + 0x14]
mov byte [esp + 0x644], 5
lea ecx, [esp + 0x14]
call fcn.0040b810
jmp 0x4da593