Function at 0x4ecc9a
Capabilities:
Check for peb ntglobalflag flag
Check http status code
Get number of processors
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ac75a
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x4d8684]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x2c], ebx
call 0x52cc48
push eax
lea ecx, [esp + 0x24]
call fcn.004bf36f
mov dword [esp + 0x70], ebx
call 0x52cc48
push eax
lea ecx, [esp + 0x28]
call fcn.004bf36f
xor edi, edi
inc edi
mov byte [esp + 0x70], 1
call 0x52cc48
push eax
lea ecx, [esp + 0x20]
call fcn.004bf36f
mov byte [esp + 0x70], 2
call 0x52cc48
push eax
lea ecx, [esp + 0x1c]
call fcn.004bf36f
mov byte [esp + 0x70], 3
call 0x52cc48
push eax
lea ecx, [esp + 0x2c]
call fcn.004bf36f
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], 4
call fcn.004bf584
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.004ea583
mov dword [esp + 0x30], eax
lea eax, [esi + 0x510]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x50], eax
call fcn.004bf4cc
cmp dword [esi + 0x4dc], ebx
jne 0x4eed25
mov ecx, dword [esp + 0x30]
push 0x63
lea eax, [ecx - 0x64]
pop edx
cmp edx, eax
sbb eax, eax
neg eax
cmp ecx, 0x190
mov dword [esi + 0x4e4], eax
jl 0x4ecde4
cmp dword [esi + 0x4f4], 0x51
jne 0x4ecdc9
lea eax, [esp + 0x48]
push 0x4ba444
push eax
call 0x51ff3b
pop ecx
pop ecx
push ebx
push edi
push ebx
mov ecx, eax
mov byte [esp + 0x7c], 5
call fcn.004faeae
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov dword [esp + 0x30], 0xc8
cmp dword [esp + 0x30], 0x190
jl 0x4ecde4
cmp dword [esi + 0x4f4], 0x77
jne 0x4ecde4
mov dword [esp + 0x30], 0xc8
mov eax, dword [esi + 0x4f4]
cmp eax, 0x53
jne 0x4ece0e
call fcn.00502320
or dword [esi + 0x44c], 0xffffffff
lea eax, [esi + 0x51c]
push eax
mov edi, esi
call fcn.004ec969
jmp 0x4eed36
cmp dword [esp + 0x30], 0xe2
jne 0x4ece46
cmp eax, 7
je 0x4eed36
cmp eax, 0x2b
je 0x4eed36
cmp eax, 0x4b
je 0x4eed36
cmp eax, 9
je 0x4eed36
cmp eax, 0xf
jne 0x4ece5f
jmp 0x4eed36
cmp dword [esp + 0x30], 0x64
jl 0x4ee2d2
cmp dword [esp + 0x30], 0x18f
jg 0x4ee2d2
cmp eax, 0x15
je 0x4ece69
cmp eax, 0x17
jne 0x4ece7d
cmp dword [esi + 0x28c], ebx
jne 0x4ece7d
cmp dword [esi + 0x4e4], ebx
jne 0x4eed36
cmp eax, 0x2b
jne 0x4ecf38
cmp dword [0x4dd1c0], ebx
jne 0x4ecec0
lea eax, [esp + 0x48]
push 0x4ba47c
push eax
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 6
mov edi, dword [esi + 0x274]
push eax
mov dword [esp + 0x30], 1
call fcn.004c9890
test eax, eax
mov byte [esp + 0x17], bl
je 0x4ecec5
mov byte [esp + 0x17], 1
mov dword [esp + 0x70], 4
test byte [esp + 0x2c], 1
je 0x4ecee5
mov ecx, dword [esp + 0x48]
and dword [esp + 0x2c], 0xfffffffe
add ecx, 0xfffffff0
call fcn.004bf355
cmp byte [esp + 0x17], bl
je 0x4ecef7
mov dword [esi + 0x4f4], 0x4a
jmp 0x4ecf35
mov edi, dword [0x4dd494]
call 0x530a1e
mov eax, dword [eax + 4]
push ebx
push 0x4ba484
push edi
mov ecx, eax
call 0x52fe67
test eax, eax
je 0x4ecf2b
cmp dword [0x4dd1c0], ebx
jne 0x4ecf2b
mov dword [esi + 0x4f4], 0x46
jmp 0x4ecf35
mov dword [esi + 0x4f4], 0x5a
xor edi, edi
inc edi
cmp dword [esi + 0x4f4], 0x47
jne 0x4ed524
add esi, 0x50c
mov edi, esi
call fcn.004c1b37
mov ebx, esi
call fcn.004c1ae9
push 0x4ba494
push esi
call 0x51efe2
test eax, eax
pop ecx
pop ecx
jne 0x4ecf7f
push 0x4ba49c
push esi
call 0x51efe2
test eax, eax
pop ecx
pop ecx
je 0x4ed00f
push 0
push 0xa
mov ecx, esi
call fcn.004c4832
test eax, eax
jle 0x4ecfc4
push 0
push 0xa
mov ecx, esi
call fcn.004c4832
push eax
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call fcn.004befad
push eax
mov ecx, esi
mov byte [esp + 0x74], 7
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov cl, 0xa
call fcn.004c4863
test eax, eax
jle 0x4ed001
mov cl, 0xa
call fcn.004c4863
push eax
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call fcn.004befd0
push eax
mov ecx, esi
mov byte [esp + 0x74], 8
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov edi, esi
call fcn.004c1b37
mov ebx, esi
call fcn.004c1ae9
mov ecx, esi
call 0x51f4c8
test eax, eax
jne 0x4ed510
xor ebx, ebx
push ebx
push 0xa
mov ecx, esi
call fcn.004c4832
test eax, eax
jge 0x4ed510
push 0x4ba4a4
push esi
call 0x51f08b
test eax, eax
pop ecx
pop ecx
jne 0x4ed510
push 0x4ba4b0
push esi
call 0x51f08b
test eax, eax
pop ecx
pop ecx
jne 0x4ed510
push 0x4ba4c0
push esi
call 0x51f08b
test eax, eax
pop ecx
pop ecx
jne 0x4ed510
push 0x4ba4cc
push esi
call 0x51f08b
test eax, eax
pop ecx
pop ecx
jne 0x4ed510
push 0x4ba4d4
push esi
call 0x51f08b
test eax, eax
pop ecx
pop ecx
jne 0x4ed510
mov edi, 0x4ba4dc
push edi
push esi
call 0x51f08b
test eax, eax
pop ecx
pop ecx
je 0x4ed2c9
call 0x52cc48
push eax
lea ecx, [esp + 0x34]
call fcn.004bf36f
push edi
mov byte [esp + 0x74], 9
call fcn.004c0e75
cmp eax, ebx
jle 0x4ed2bb
add eax, 7
push eax
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call fcn.004befad
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x74], 0xa
call fcn.004bf4cc
mov byte [esp + 0x70], 9
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
push 0x4b6f64
lea esi, [esp + 0x34]
call fcn.004c0e75
cmp eax, ebx
jle 0x4ed140
push eax
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call fcn.004befd0
push eax
mov ecx, esi
mov byte [esp + 0x74], 0xb
call fcn.004bf4cc
mov byte [esp + 0x70], 9
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
push 0x3b
push 0x3b
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x54]
push eax
call 0x51f14f
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x74], 0xc
call fcn.004bf4cc
mov byte [esp + 0x70], 9
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x4c]
push eax
call 0x520549
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x74], 0xd
call fcn.004bf4cc
mov byte [esp + 0x70], 9
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
lea ecx, [esp + 0x30]
call 0x51f4c8
test eax, eax
jne 0x4ed21d
push ebx
push 1
push ebx
lea eax, [esp + 0x50]
push 0x4ba4e4
push eax
lea ecx, [esp + 0x44]
call fcn.004c2a78
add esp, 4
mov ecx, esp
mov byte [esp + 0x80], 0xe
mov dword [esp + 0x68], esp
push 0x4b5f74
push eax
push ecx
call fcn.004bf05d
lea eax, [esp + 0x64]
add esp, 0xc
push eax
call 0x51feea
pop ecx
pop ecx
mov esi, dword [ebp + 8]
mov ecx, eax
mov byte [esp + 0x7c], 0xf
call fcn.004faeae
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 9
mov ecx, dword [esp + 0x44]
jmp 0x4ed24a
lea eax, [esp + 0x48]
push 0x4ba4f0
push eax
call 0x51ff3b
pop ecx
pop ecx
mov esi, dword [ebp + 8]
push ebx
push 1
push ebx
mov ecx, eax
mov byte [esp + 0x7c], 0x10
call fcn.004faeae
mov byte [esp + 0x70], 9
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov esi, dword [0x4dd494]
call 0x530a1e
mov eax, dword [eax + 4]
push ebx
push 0x4ba484
push esi
mov ecx, eax
call 0x52fe67
test eax, eax
je 0x4ed2bb
lea eax, [esp + 0x48]
push eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x274]
call fcn.004cb038
mov ecx, eax
mov byte [esp + 0x70], 0x11
call 0x51f4c8
mov byte [esp + 0x70], 9
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
mov esi, eax
call fcn.004bf355
cmp esi, ebx
je 0x4ed2bb
lea eax, [esp + 0x30]
push eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x274]
call fcn.004c8eda
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x30]
jmp 0x4ed508
call 0x52cc48
push eax
lea ecx, [esp + 0x4c]
call fcn.004bf36f
mov byte [esp + 0x70], 0x12
call 0x52cc48
push eax
lea ecx, [esp + 0x48]
call fcn.004bf36f
mov byte [esp + 0x70], 0x13
call 0x52cc48
push eax
lea ecx, [esp + 0x5c]
call fcn.004bf36f
mov byte [esp + 0x70], 0x14
call 0x52cc48
push eax
lea ecx, [esp + 0x34]
call fcn.004bf36f
mov byte [esp + 0x70], 0x15
call 0x52cc48
push eax
lea ecx, [esp + 0x44]
call fcn.004bf36f
mov byte [esp + 0x70], 0x16
call 0x52cc48
push eax
lea ecx, [esp + 0x40]
call fcn.004bf36f
mov byte [esp + 0x70], 0x17
call 0x52cc48
push eax
lea ecx, [esp + 0x3c]
call fcn.004bf36f
mov byte [esp + 0x70], 0x18
call 0x52cc48
push eax
lea ecx, [esp + 0x38]
call fcn.004bf36f
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x60]
push eax
push esi
mov esi, dword [ebp + 8]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esi + 0x13c]
mov byte [esp + 0x98], 0x19
push eax
mov dword [esp + 0x7c], ebx
call 0x522cc0
add esp, 0x2c
lea ecx, [esp + 0x30]
call 0x51f4c8
test eax, eax
lea eax, [esp + 0x54]
jne 0x4ed41a
push ebx
push 1
push ebx
push 0x4ba4e4
push eax
lea ecx, [esp + 0x44]
call fcn.004c2a78
add esp, 4
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x4b5f74
push eax
push ecx
mov byte [esp + 0x8c], 0x1a
call fcn.004bf05d
lea eax, [esp + 0x6c]
add esp, 0xc
push eax
call 0x51feea
pop ecx
pop ecx
mov ecx, eax
mov byte [esp + 0x7c], 0x1b
call fcn.004faeae
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.004bf355
jmp 0x4ed437
push 0x4ba4f0
push eax
call 0x51ff3b
pop ecx
pop ecx
push ebx
push 1
push ebx
mov ecx, eax
mov byte [esp + 0x7c], 0x1c
call fcn.004faeae
mov byte [esp + 0x70], 0x19
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.004bf355
mov edi, dword [0x4dd494]
call 0x530a1e
mov eax, dword [eax + 4]
push ebx
push 0x4ba484
push edi
mov ecx, eax
call 0x52fe67
test eax, eax
je 0x4ed4ab
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x54]
push eax
call fcn.004cb038
mov ecx, eax
mov byte [esp + 0x70], 0x1d
call 0x51f4c8
mov byte [esp + 0x70], 0x19
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
mov edi, eax
call fcn.004bf355
cmp edi, ebx
je 0x4ed4ab
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x30]
push eax
call fcn.004c8eda
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x44]
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov eax, dword [ebp + 8]
xor edi, edi
xor ebx, ebx
mov dword [eax + 0x4f4], 0x5a
mov esi, eax
inc edi
cmp dword [esi + 0x4f4], 7
jne 0x4ed573
cmp dword [esi + 0x55c], ebx
je 0x4ed541
mov dword [esi + 0x4f4], 0x2a
jmp 0x4ed573
mov eax, dword [0x4dd494]
mov dword [esp + 0x58], eax
call 0x530a1e
mov eax, dword [eax + 4]
push ebx
push 0x4ba484
push dword [esp + 0x60]
mov ecx, eax
call 0x52fe67
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x5a
mov dword [esi + 0x4f4], eax
mov eax, dword [esi + 0x4f4]
cmp eax, 0x5b
je 0x4ed587
cmp eax, 0x5f
jne 0x4edac4
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x28]
call fcn.004bf4cc
lea ebx, [esp + 0x24]
call fcn.004c1ae9
push 0x4ba50c
mov ecx, ebx
call fcn.004c1bf4
test eax, eax
mov esi, dword [ebp + 8]
jne 0x4ed5f5
mov ecx, dword [esi + 0x274]
mov eax, ecx
call fcn.004cbda8
test eax, eax
jne 0x4ed5f5
xor edx, edx
cmp dword [ecx + 0x124], edx
jne 0x4ed5f5
mov eax, dword [ecx + 0x68]
or eax, dword [ecx + 0x6c]
jne 0x4ed5f5
inc eax
push eax
mov ecx, esi
mov dword [esi + 0x2c0], eax
mov dword [esi + 0x2c4], edx
mov dword [esi + 0x160], eax
mov dword [esi + 0x164], edx
call fcn.004e80c2
push 3
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x28]
call fcn.004befad
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 0x1e
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
lea edi, [esp + 0x18]
call fcn.004c1b37
mov ebx, edi
call fcn.004c1ae9
mov eax, edi
push eax
call 0x52040f
test edx, edx
pop ecx
mov dword [esi + 0x2c0], eax
mov dword [esi + 0x2c4], edx
jg 0x4ed668
jl 0x4ed658
xor ebx, ebx
cmp eax, ebx
jae 0x4ed66a
jmp 0x4ed65a
xor ebx, ebx
mov dword [esi + 0x2c0], ebx
mov dword [esi + 0x2c4], ebx
jmp 0x4ed66a
xor ebx, ebx
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 0x68]
cmp dword [esi + 0x2c0], eax
jne 0x4ed68a
mov edx, dword [ecx + 0x6c]
cmp dword [esi + 0x2c4], edx
je 0x4ed726
mov edx, dword [ecx + 0x6c]
cmp edx, ebx
jl 0x4ed726
jg 0x4ed69f
cmp eax, ebx
jbe 0x4ed726
cmp dword [ecx + 0x124], ebx
je 0x4ed726
lea eax, [esp + 0x58]
push 0x4ba514
push eax
call 0x51ff3b
pop ecx
pop ecx
push ebx
push 1
push ebx
mov ecx, eax
mov byte [esp + 0x7c], 0x1f
call fcn.004faeae
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov esi, dword [ebp + 8]
push 1
mov ecx, esi
call fcn.00501dac
cmp dword [esi + 0x260], ebx
jne 0x4eed36
lea eax, [esi + 0x54]
push eax
mov ecx, esi
call fcn.004fc1b9
mov ecx, esi
call fcn.004fcdde
test eax, eax
jne 0x4eed36
cmp dword [esi + 0x260], ebx
jne 0x4eed36
push ebx
push 1
mov ecx, esi
call fcn.00502d01
jmp 0x4eed36
cmp dword [esi + 0x2c0], eax
jne 0x4ed73d
mov edx, dword [ecx + 0x6c]
cmp dword [esi + 0x2c4], edx
je 0x4ed844
mov edx, dword [ecx + 0x6c]
cmp edx, ebx
jl 0x4ed844
jg 0x4ed752
cmp eax, ebx
jbe 0x4ed844
call fcn.004c8bd2
or eax, edx
je 0x4ed844
call 0x52cc48
push eax
lea ecx, [esp + 0x34]
call fcn.004bf36f
mov byte [esp + 0x70], 0x20
push dword [esi + 0x2c4]
lea eax, [esp + 0x58]
push dword [esi + 0x2c0]
push eax
call 0x523aea
add esp, 0xc
mov edi, eax
mov byte [esp + 0x70], 0x21
mov eax, dword [esi + 0x274]
push dword [eax + 0x6c]
mov ecx, dword [eax + 0x68]
push ecx
lea eax, [esp + 0x60]
push eax
call 0x523aea
add esp, 0xc
mov byte [esp + 0x70], 0x22
push dword [edi]
push dword [eax]
lea eax, [esp + 0x38]
push 0x4ba540
push eax
call fcn.004bf640
mov ecx, dword [esp + 0x68]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 0x20
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.004bf355
push ebx
push ebx
push 1
lea ecx, [esp + 0x3c]
call fcn.004faeae
mov esi, dword [ebp + 8]
push dword [esi + 0x2c4]
mov eax, dword [esi + 0x274]
push dword [esi + 0x2c0]
call fcn.004c8d78
mov eax, dword [esi + 0x274]
push ebx
push ebx
call fcn.004c8b19
push 1
mov ecx, esi
call fcn.00501dac
cmp dword [esi + 0x260], ebx
je 0x4ed83b
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.004bf355
jmp 0x4eed36
mov ecx, esi
call fcn.004ff0fc
jmp 0x4ed82a
mov eax, dword [esi + 0x274]
mov edx, dword [eax + 0x6c]
mov ecx, dword [eax + 0x68]
mov dword [esp + 0x60], edx
mov edx, dword [esi + 0x2c0]
cmp edx, ecx
jne 0x4ed86e
mov edx, dword [esi + 0x2c4]
cmp edx, dword [esp + 0x60]
je 0x4eda76
mov edx, dword [eax + 0x6c]
cmp edx, ebx
jl 0x4eda76
jg 0x4ed883
cmp ecx, ebx
jbe 0x4eda76
and dword [esp + 0x30], 0
lea ecx, [esp + 0x58]
push ecx
xor edi, edi
call fcn.004cbe60
mov ecx, eax
mov byte [esp + 0x70], 0x23
call 0x51f4c8
mov ebx, eax
neg ebx
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.004bf355
inc edi
test bl, bl
je 0x4ed8c2
mov dword [esp + 0x30], edi
mov eax, dword [esi + 0x274]
call fcn.004cbda8
test eax, eax
je 0x4ed8d5
mov dword [esp + 0x30], edi
xor ebx, ebx
cmp dword [esp + 0x30], ebx
je 0x4ed8ed
push 0xffffffffffffffff
push ebx
push 0x4ba578
call 0x5166a6
add esp, 0xc
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x68]
push ebx
push edi
push ebx
push dword [eax + 0x6c]
lea eax, [esp + 0x50]
push ecx
push eax
call 0x523aea
add esp, 0xc
mov edi, eax
mov byte [esp + 0x7c], 0x24
push dword [esi + 0x2c4]
lea eax, [esp + 0x54]
push dword [esi + 0x2c0]
push eax
call 0x523aea
add esp, 0xc
lea ecx, [esp + 0x54]
push 0x4ba610
push ecx
mov ecx, eax
mov byte [esp + 0x84], 0x25
call fcn.004c2a78
push 0x4ba608
push eax
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x90], 0x26
call fcn.004bf05d
add esp, 0x14
push edi
push eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x88], 0x27
call fcn.004c0eeb
add esp, 8
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x4b5f74
push eax
push ecx
mov byte [esp + 0x8c], 0x28
call fcn.004bf05d
lea eax, [esp + 0x74]
add esp, 0xc
push eax
call 0x51feea
pop ecx
pop ecx
mov ecx, eax
mov byte [esp + 0x7c], 0x29
call fcn.004faeae
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x44]
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.004bf355
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x274]
call fcn.004ca3a2
test eax, eax
jle 0x4eda4d
lea eax, [esp + 0x58]
push 0x4b679c
push eax
call 0x51ff3b
pop ecx
pop ecx
push eax
mov byte [esp + 0x74], 0x2a
mov edi, dword [esi + 0x274]
push ebx
call fcn.004ca234
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov eax, dword [esi + 0x274]
inc ebx
call fcn.004ca3a2
cmp ebx, eax
jl 0x4eda09
mov edx, dword [esi + 0x274]
xor ecx, ecx
call fcn.004ca129
push dword [esi + 0x2c4]
mov eax, dword [esi + 0x274]
push dword [esi + 0x2c0]
call fcn.004c8d78
mov esi, dword [ebp + 8]
xor ebx, ebx
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 0x68]
or eax, dword [ecx + 0x6c]
jne 0x4edab2
call fcn.004c8bd2
cmp edx, ebx
jg 0x4eda9b
jl 0x4eda93
cmp eax, ebx
ja 0x4eda9b
cmp dword [esi + 0x21c], ebx
je 0x4edab2
push dword [esi + 0x2c4]
mov eax, dword [esi + 0x274]
push dword [esi + 0x2c0]
call fcn.004c8d78
xor edi, edi
mov dword [esi + 0x4f4], 0x4a
mov esi, dword [ebp + 8]
xor ebx, ebx
inc edi
cmp dword [esi + 0x4f4], 0x4b
jne 0x4edb42
cmp dword [esi + 0x578], ebx
mov dword [esi + 0x5a0], edi
je 0x4edb08
mov ecx, dword [esi + 0x274]
lea eax, [esp + 0x58]
push eax
call fcn.004c95fd
mov byte [esp + 0x70], 0x2b
or dword [esp + 0x2c], 2
mov ecx, eax
call 0x51f4c8
test eax, eax
je 0x4edb08
mov al, 1
mov byte [esp + 0x17], al
jmp 0x4edb0e
mov byte [esp + 0x17], bl
mov al, bl
mov dword [esp + 0x70], 4
test byte [esp + 0x2c], 2
je 0x4edb32
mov ecx, dword [esp + 0x58]
and dword [esp + 0x2c], 0xfffffffd
add ecx, 0xfffffff0
call fcn.004bf355
mov al, byte [esp + 0x17]
neg al
sbb eax, eax
and eax, 0x6e
add eax, 8
mov dword [esi + 0x4f4], eax
mov eax, dword [esi + 0x4f4]
cmp eax, 0x15
je 0x4edb56
cmp eax, 0x17
jne 0x4ee04b
push ebx
push 0x8b4
call fcn.004fd7df
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
mov dword [esi + 0x4e8], 1
call fcn.004bf4cc
lea edi, [esp + 0x18]
call fcn.004c1b37
mov ebx, edi
call fcn.004c1ae9
call fcn.004cd7eb
push 0x4ba628
mov esi, edi
call fcn.004c0e75
test eax, eax
jge 0x4edbb0
push 0x4ba630
call fcn.004c0e75
test eax, eax
jl 0x4edd8b
mov esi, dword [esp + 0x18]
push 0x28
push esi
call 0x547e04
test eax, eax
pop ecx
pop ecx
je 0x4edbf5
sub eax, esi
js 0x4edbf5
push 0x28
push esi
call 0x547e04
test eax, eax
pop ecx
pop ecx
jne 0x4edbd9
or eax, 0xffffffff
jmp 0x4edbdb
sub eax, esi
inc eax
push eax
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x20]
call fcn.004befad
mov byte [esp + 0x70], 0x2c
jmp 0x4edc91
mov edi, dword [ebp + 8]
add edi, 0x520
mov ecx, edi
call 0x51f4c8
test eax, eax
jne 0x4edcac
call fcn.004c1b37
mov ebx, edi
call fcn.004c1ae9
call fcn.004cd7eb
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x5c]
push edi
push eax
call fcn.004c0eeb
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 0x2d
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov esi, dword [esp + 0x18]
push 0x28
push esi
call 0x547e04
test eax, eax
pop ecx
pop ecx
je 0x4edcac
sub eax, esi
js 0x4edcac
push 0x28
push esi
call 0x547e04
test eax, eax
pop ecx
pop ecx
jne 0x4edc7a
or eax, 0xffffffff
jmp 0x4edc7c
sub eax, esi
inc eax
push eax
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x20]
call fcn.004befad
mov byte [esp + 0x70], 0x2e
push eax
lea ecx, [esp + 0x1c]
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov edi, 0x4ba628
push edi
lea esi, [esp + 0x1c]
call fcn.004c0e75
test eax, eax
jl 0x4edcf0
push edi
call fcn.004c0e75
push eax
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.004befd0
push eax
mov ecx, esi
mov byte [esp + 0x74], 0x2f
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov edi, 0x4ba630
push edi
lea esi, [esp + 0x1c]
call fcn.004c0e75
test eax, eax
jl 0x4edd34
push edi
call fcn.004c0e75
push eax
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.004befd0
push eax
mov ecx, esi
mov byte [esp + 0x74], 0x30
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
lea edi, [esp + 0x18]
call fcn.004c1b37
mov ebx, edi
call fcn.004c1ae9
mov eax, edi
push eax
call 0x52040f
mov ebx, eax
or eax, edx
pop ecx
mov dword [esp + 0x60], edx
jne 0x4edda0
push 0x4ba638
lea esi, [esp + 0x24]
call fcn.004c0e75
test eax, eax
jle 0x4edd8b
mov esi, dword [ebp + 8]
and dword [esi + 0x2c4], 0
xor eax, eax
inc eax
and dword [esi + 0x164], 0
mov dword [esi + 0x2c0], eax
mov dword [esi + 0x160], eax
jmp 0x4edd8e
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x2c4]
mov ebx, dword [esi + 0x2c0]
mov dword [esp + 0x60], eax
jmp 0x4edda3
mov esi, dword [ebp + 8]
cmp dword [esp + 0x60], 0
jl 0x4ee031
jg 0x4eddb8
test ebx, ebx
jbe 0x4ee031
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x6c], 0
mov edi, dword [ecx + 0x68]
jl 0x4edfb5
jg 0x4eddd5
test edi, edi
jbe 0x4edfb5
mov eax, dword [esi + 0x168]
mov edx, dword [esi + 0x16c]
add eax, ebx
adc edx, dword [esp + 0x60]
cmp edi, eax
jne 0x4eddf8
mov eax, dword [ecx + 0x6c]
cmp eax, edx
jne 0x4eddf8
mov ebx, edi
mov dword [esp + 0x60], eax
cmp ebx, edi
jne 0x4ede09
mov eax, dword [esp + 0x60]
cmp eax, dword [ecx + 0x6c]
je 0x4edfb5
xor edi, edi
cmp dword [ecx + 0x124], edi
je 0x4ede86
lea eax, [esp + 0x58]
push 0x4ba514
push eax
call 0x51ff3b
pop ecx
pop ecx
push edi
push 1
push edi
mov ecx, eax
mov byte [esp + 0x7c], 0x31
call fcn.004faeae
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
push 1
mov ecx, esi
call fcn.00501dac
cmp dword [esi + 0x260], edi
jne 0x4eed36
lea eax, [esi + 0x54]
push eax
mov ecx, esi
call fcn.004fc1b9
mov ecx, esi
call fcn.004fcdde
test eax, eax
jne 0x4eed36
cmp dword [esi + 0x260], edi
jne 0x4eed36
push edi
jmp 0x4ed718
call fcn.004c8bd2
or eax, edx
je 0x4edf56
call 0x52cc48
push eax
lea ecx, [esp + 0x34]
call fcn.004bf36f
push dword [esp + 0x60]
lea eax, [esp + 0x54]
push ebx
push eax
mov byte [esp + 0x7c], 0x32
call 0x523aea
add esp, 0xc
mov dword [esp + 0x58], eax
mov byte [esp + 0x70], 0x33
mov eax, dword [esi + 0x274]
push dword [eax + 0x6c]
mov ecx, dword [eax + 0x68]
push ecx
lea eax, [esp + 0x5c]
push eax
call 0x523aea
add esp, 0xc
mov byte [esp + 0x70], 0x34
mov ecx, dword [esp + 0x58]
push dword [ecx]
push dword [eax]
lea eax, [esp + 0x38]
push 0x4ba540
push eax
call fcn.004bf640
mov ecx, dword [esp + 0x64]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 0x32
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.004bf355
push edi
push edi
push 1
lea ecx, [esp + 0x3c]
call fcn.004faeae
push dword [esp + 0x60]
mov eax, dword [esi + 0x274]
push ebx
call fcn.004c8d78
mov eax, dword [esi + 0x274]
push edi
push edi
call fcn.004c8b19
push 1
mov ecx, esi
call fcn.00501dac
cmp dword [esi + 0x260], edi
jmp 0x4ed828
mov eax, dword [esi + 0x274]
mov dword [esp + 0x30], edi
call fcn.004ca3a2
test eax, eax
jle 0x4edfb5
lea eax, [esp + 0x58]
push 0x4b679c
push eax
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x35
mov edi, dword [esi + 0x274]
push eax
push dword [esp + 0x34]
call fcn.004ca234
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov eax, dword [esi + 0x274]
inc dword [esp + 0x30]
call fcn.004ca3a2
cmp dword [esp + 0x30], eax
jl 0x4edf69
mov edi, dword [esi + 0x168]
mov ecx, dword [esi + 0x16c]
mov eax, dword [esp + 0x60]
sub ebx, edi
sbb eax, ecx
mov dword [esi + 0x184], eax
xor eax, eax
cmp dword [esi + 0x184], eax
mov dword [esi + 0x180], ebx
jg 0x4edff1
jl 0x4edfe5
cmp ebx, eax
jae 0x4edff1
mov dword [esi + 0x180], eax
mov dword [esi + 0x184], eax
mov edx, dword [esi + 0x184]
cmp edx, eax
mov ecx, dword [esi + 0x180]
jl 0x4ee031
jg 0x4ee007
cmp ecx, eax
jbe 0x4ee031
mov ebx, dword [esi + 0x274]
mov eax, ebx
call fcn.004cbda8
test eax, eax
jne 0x4ee031
mov eax, dword [ebx + 0x68]
or eax, dword [ebx + 0x6c]
jne 0x4ee031
add ecx, edi
adc edx, dword [esi + 0x16c]
mov eax, ebx
push edx
push ecx
call fcn.004c8d78
lea eax, [esp + 0x20]
add esi, 0x520
push eax
mov ecx, esi
call fcn.004bf4cc
mov esi, dword [ebp + 8]
xor edi, edi
xor ebx, ebx
inc edi
cmp dword [esi + 0x4f4], 0x77
jne 0x4ee0aa
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
cmp dword [eax - 0xc], 4
jle 0x4ee0a0
mov ecx, dword [esp + 0x4c]
push 4
lea eax, [esp + 0x34]
push eax
call fcn.004befad
mov byte [esp + 0x70], 0x36
mov eax, dword [esp + 0x30]
cmp dword [eax - 0xc], 0x20
jne 0x4ee08f
lea eax, [esp + 0x30]
push eax
push dword [esi + 0x274]
call fcn.004c940f
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.004bf355
mov dword [esi + 0x4f4], 8
cmp dword [esi + 0x4f4], 0xd
jne 0x4ee0e0
mov edx, dword [esi + 0x274]
mov ecx, edi
mov dword [esi + 0x11c], edi
call fcn.004c9933
push dword [esi + 0x11c]
push 0x8c4
call fcn.004fd795
mov dword [esi + 0x4f4], 0xa
cmp dword [esi + 0x4f4], 0x51
jne 0x4ee114
mov eax, dword [esi + 0x27c]
cmp eax, ebx
mov dword [esi + 0x4f4], 8
mov dword [esi + 0x550], edi
je 0x4ee114
push dword [esi + 0x16c]
push dword [esi + 0x168]
call fcn.004ce1ac
cmp dword [esi + 0x4f4], 0xb
jne 0x4ee165
mov edx, dword [esi + 0x274]
mov ecx, edi
mov dword [esi + 0x11c], edi
call fcn.004c9933
push dword [esi + 0x11c]
push 0x8c4
call fcn.004fd795
mov eax, dword [esi + 0x27c]
cmp eax, ebx
mov dword [esi + 0x4f4], 0x14
je 0x4ee165
push dword [esi + 0x16c]
push dword [esi + 0x168]
call fcn.004ce1ac
cmp dword [esi + 0x4f4], 9
jne 0x4ee1fb
cmp dword [esi + 0x16c], ebx
jl 0x4ee184
jg 0x4ee1d7
cmp dword [esi + 0x168], ebx
ja 0x4ee1d7
lea eax, [esp + 0x58]
push 0x4ba644
push eax
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x37
mov edi, dword [esi + 0x274]
push eax
call fcn.004c9890
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
mov edi, eax
call fcn.004bf355
cmp edi, ebx
je 0x4ee1e3
mov eax, dword [esi + 0x168]
or eax, dword [esi + 0x16c]
jne 0x4ee1d7
mov dword [esi + 0x4f4], 0x14
jmp 0x4ee1fb
mov dword [esi + 0x4f4], 0xa
jmp 0x4ee1fb
xor eax, eax
cmp dword [esi + 0x550], ebx
setne al
lea eax, [eax*8 + 0xc]
mov dword [esi + 0x4f4], eax
cmp dword [esi + 0x4f4], 0xf
jne 0x4ee289
cmp dword [esi + 0x16c], ebx
jl 0x4ee226
jg 0x4ee21a
cmp dword [esi + 0x168], ebx
jbe 0x4ee226
mov dword [esi + 0x4f4], 0xa
jmp 0x4ee23e
xor eax, eax
cmp dword [esi + 0x550], ebx
setne al
lea eax, [eax*8 + 0xc]
mov dword [esi + 0x4f4], eax
lea eax, [esp + 0x58]
push 0x6e
push eax
call 0x51ff94
pop ecx
pop ecx
lea ecx, [esi + 0x5c]
push eax
mov byte [esp + 0x74], 0x38
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
push ebx
push 0x8b1
call fcn.004fd7df
lea eax, [esp + 0x20]
push eax
push esi
call fcn.004ef90c
test eax, eax
je 0x4eed36
xor edi, edi
inc edi
cmp dword [esi + 0x4f4], 0x14
jne 0x4ee2a7
cmp dword [esi + 0x55c], ebx
je 0x4ee2a7
mov dword [esi + 0x4f4], 0x16
mov eax, dword [esi + 0x4f4]
cmp eax, 6
jne 0x4ee84a
lea eax, [esp + 0x1c]
push 0x4ba42c
push eax
call fcn.004bf640
pop ecx
pop ecx
mov dword [esi + 0x4fc], edi
jmp 0x4eeb1a
cmp eax, 0x4b
jne 0x4ee352
cmp dword [esi + 0x578], ebx
je 0x4ee30c
mov ecx, dword [esi + 0x274]
lea eax, [esp + 0x58]
push eax
call fcn.004c95fd
mov byte [esp + 0x70], 0x39
mov ecx, eax
mov dword [esp + 0x2c], 4
call 0x51f4c8
test eax, eax
mov byte [esp + 0x17], 1
jne 0x4ee310
mov byte [esp + 0x17], bl
mov dword [esp + 0x70], 4
test byte [esp + 0x2c], 4
je 0x4ee330
mov ecx, dword [esp + 0x58]
and dword [esp + 0x2c], 0xfffffffb
add ecx, 0xfffffff0
call fcn.004bf355
cmp byte [esp + 0x17], bl
je 0x4ee342
mov dword [esi + 0x4f4], 0x76
jmp 0x4ee352
mov dword [esi + 0x5a0], ebx
mov dword [esi + 0x4f4], 8
mov ecx, dword [esi + 0x4f4]
cmp ecx, 0xd
jne 0x4ee47c
mov edx, dword [esi + 0x274]
cmp dword [edx + 0x124], ebx
je 0x4ee3f7
cmp dword [esi + 0x16c], ebx
jl 0x4ee3f7
jg 0x4ee385
cmp dword [esi + 0x168], ebx
jbe 0x4ee3f7
lea eax, [esp + 0x58]
push 0x4ba650
push eax
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x3a
push ebx
push edi
push ebx
mov ecx, eax
call fcn.004faeae
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
push edi
mov ecx, esi
call fcn.00501dac
cmp dword [esi + 0x260], ebx
jne 0x4eed36
lea eax, [esi + 0x54]
push eax
mov ecx, esi
call fcn.004fc1b9
mov ecx, esi
call fcn.004fcdde
test eax, eax
jne 0x4eed36
cmp dword [esi + 0x260], ebx
jne 0x4eed36
push ebx
push edi
jmp 0x4ed71a
mov eax, edx
call fcn.004cbda8
test eax, eax
je 0x4ee41a
push edi
mov ecx, esi
call fcn.00501dac
push ebx
push 0x8e3
call fcn.004fd795
jmp 0x4eed36
xor ecx, ecx
mov dword [esi + 0x11c], ebx
call fcn.004c9933
push dword [esi + 0x11c]
push 0x8c4
call fcn.004fd795
mov eax, dword [esi + 0x27c]
cmp eax, ebx
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
je 0x4ee460
push ebx
push ebx
call fcn.004ce1ac
mov eax, dword [esi + 0x274]
push ebx
push ebx
call fcn.004c8b19
mov dword [esi + 0x4f4], 0x14
jmp 0x4ee28c
cmp ecx, 0x47
jne 0x4ee490
mov dword [esi + 0x4f4], 0x5a
jmp 0x4ee28c
cmp ecx, 0x5b
jne 0x4ee4b0
mov dword [esi + 0x2c0], ebx
mov dword [esi + 0x2c4], ebx
mov dword [esi + 0x4f4], 0x5e
jmp 0x4ee28c
cmp ecx, 0x5f
jne 0x4ee4d0
mov dword [esi + 0x2c0], ebx
mov dword [esi + 0x2c4], ebx
mov dword [esi + 0x4f4], 0x4a
jmp 0x4ee28c
cmp ecx, 0x2b
jne 0x4ee564
cmp dword [esi + 0x498], ebx
jne 0x4ee54c
cmp dword [esi + 0x548], ebx
jne 0x4ee54c
lea eax, [esi + 0x51c]
push 0x4b5f80
push eax
call 0x51efe2
test eax, eax
pop ecx
pop ecx
je 0x4ee54c
lea eax, [esp + 0x58]
push 0x4ba680
push eax
mov dword [esi + 0x4f4], 0x2a
mov dword [esi + 0x548], edi
mov dword [esi + 0x54c], edi
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x3b
push ebx
push edi
push ebx
mov ecx, eax
call fcn.004faeae
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
jmp 0x4ee28c
push dword [esp + 0x30]
mov ecx, esi
call fcn.004ef2eb
test eax, eax
jne 0x4ee28c
jmp 0x4eed36
cmp ecx, 0xf
jne 0x4ee5a1
cmp dword [esp + 0x30], 0xca
jne 0x4ee5a1
lea eax, [esi + 0x534]
cmp dword [eax], ebx
jne 0x4ee5a1
mov dword [eax], edi
lea eax, [esp + 0x58]
push 0x4ba6a8
push eax
mov dword [esi + 0x4f4], 8
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x3c
jmp 0x4ee52c
cmp ecx, 9
jne 0x4ee5d9
cmp dword [esi + 0x530], ebx
jne 0x4ee5d9
lea eax, [esp + 0x58]
push 0x4ba6d0
push eax
mov dword [esi + 0x4f4], 8
mov dword [esi + 0x544], edi
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x3d
jmp 0x4ee52c
cmp ecx, 0xb
jne 0x4ee6fc
cmp dword [esi + 0x11c], ebx
je 0x4ee659
mov eax, dword [esi + 0x168]
or eax, dword [esi + 0x16c]
jne 0x4ee659
lea eax, [esp + 0x58]
push 0x4ba644
push eax
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x3e
mov edi, dword [esi + 0x274]
push eax
call fcn.004c97e4
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
push 1
mov ecx, esi
mov dword [esi + 0x4f4], 0x50
call fcn.00501dac
cmp dword [esi + 0x260], ebx
jne 0x4eed36
push ebx
push 1
mov ecx, esi
call fcn.00502d01
jmp 0x4ee289
mov edx, dword [esi + 0x274]
cmp dword [edx + 0x124], ebx
je 0x4ee694
cmp dword [esi + 0x16c], ebx
jl 0x4ee694
jg 0x4ee679
cmp dword [esi + 0x168], ebx
jbe 0x4ee694
lea eax, [esp + 0x58]
push 0x4ba650
push eax
call 0x51ff3b
pop ecx
pop ecx
mov byte [esp + 0x70], 0x3f
jmp 0x4ee39b
mov eax, edx
call fcn.004cbda8
test eax, eax
jne 0x4ee402
xor ecx, ecx
mov dword [esi + 0x11c], ebx
call fcn.004c9933
push dword [esi + 0x11c]
push 0x8c4
call fcn.004fd795
mov eax, dword [esi + 0x27c]
cmp eax, ebx
mov dword [esi + 0x4f4], 0x14
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
je 0x4ee28c
push ebx
push ebx
call fcn.004ce1ac
jmp 0x4ee28c
cmp ecx, 0x15
je 0x4ee7e3
cmp ecx, 0x17
je 0x4ee7e3
or dword [esi + 0x44c], 0xffffffff
mov ecx, esi
call fcn.004fd565
test eax, eax
je 0x4ee761
cmp dword [esi + 0x21c], ebx
jne 0x4ee761
mov eax, dword [esi + 0x274]
call fcn.004cbda8
test eax, eax
jne 0x4ee761
mov edi, dword [esi + 0x508]
mov eax, esi
call fcn.004fd769
cmp eax, ebx
push 0xb4
push 0x30
push edi
jne 0x4ee757
call 0x5166a6
jmp 0x4ee75e
mov ecx, eax
call 0x516625
add esp, 0xc
lea edi, [esi + 0x26c]
mov eax, dword [edi]
call 0x518187
test eax, eax
je 0x4ee77b
mov ecx, dword [edi]
push 5
call 0x52d4b9
cmp dword [esi + 0x498], ebx
jne 0x4ee794
push ebx
push 0x8b0
mov dword [esi + 0x10c], ebx
call fcn.004fd7df
push ebx
push 0x8b4
call fcn.004fd7df
lea eax, [esp + 0x58]
push 0x177
push eax
call 0x51ff94
mov byte [esp + 0x78], 0x40
push dword [esi + 0x1c0]
push eax
call fcn.004e4ec0
mov byte [esp + 0x80], 4
mov ecx, dword [esp + 0x68]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004bf355
push ebx
mov edi, esi
call fcn.00502be6
jmp 0x4eed36
push dword [esp + 0x30]
mov ecx, esi
call fcn.004ef2eb
test eax, eax
jne 0x4ee28c
cmp dword [esi + 0x498], ebx
je 0x4eed36
mov ecx, dword [esi + 0x28c]
cmp ecx, ebx
je 0x4ee833
push ebx
call 0x52e2d5
mov ecx, dword [esi + 0x28c]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [esi + 0x28c]
cmp ecx, ebx
je 0x4ee82d
mov eax, dword [ecx]
push edi
call dword [eax + 4]
mov dword [esi + 0x28c], ebx
or dword [esi + 0x44c], 0xffffffff
push ebx
push 0x8b4
call fcn.004fd7df
jmp 0x4eed36
cmp eax, 0x5a
jne 0x4ee911
cmp dword [esi + 0x498], ebx
je 0x4ee88b
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x41
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x42
jmp 0x4ee8c1
cmp dword [esi + 0x55c], ebx
je 0x4ee8ef
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x43
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x44
push dword [eax]
push 0x4ba6f8
lea eax, [esp + 0x24]
push eax
call fcn.004bf640
mov ecx, dword [esp + 0x64]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x54]
jmp 0x4ee9c7
lea eax, [esp + 0x58]
lea ebx, [esi + 0x51c]
push eax
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x45
push dword [eax]
push 0x4ba6f8
jmp 0x4ee9b1
cmp eax, 0x46
jne 0x4ee9dc
cmp dword [esi + 0x498], ebx
je 0x4ee952
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x46
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x47
jmp 0x4ee988
cmp dword [esi + 0x55c], ebx
je 0x4ee994
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x48
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x49
push dword [eax]
push 0x4ba704
jmp 0x4ee8c8
lea eax, [esp + 0x58]
lea ebx, [esi + 0x51c]
push eax
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x4a
push dword [eax]
push 0x4ba704
lea eax, [esp + 0x24]
push eax
call fcn.004bf640
mov byte [esp + 0x7c], 4
mov ecx, dword [esp + 0x64]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004bf355
mov esi, dword [ebp + 8]
xor edi, edi
inc edi
xor ebx, ebx
jmp 0x4eeb1a
cmp eax, 0x4a
jne 0x4eeb1a
lea ecx, [esi + 0x54]
lea edi, [esp + 0x30]
call 0x51cf98
mov byte [esp + 0x70], 0x4b
call fcn.004cd7eb
lea eax, [esp + 0x58]
push 0x4ba710
push eax
call 0x51ff3b
mov ecx, edi
push ecx
mov byte [esp + 0x7c], 0x4c
or dword [esp + 0x38], 8
push eax
call 0x51f7fa
add esp, 0x10
test eax, eax
jne 0x4eea30
cmp dword [esi + 0x5a4], ebx
mov byte [esp + 0x17], bl
jne 0x4eea35
mov byte [esp + 0x17], 1
push 0x4b
pop edi
mov dword [esp + 0x70], edi
test byte [esp + 0x2c], 8
je 0x4eea54
mov ecx, dword [esp + 0x58]
and dword [esp + 0x2c], 0xfffffff7
add ecx, 0xfffffff0
call fcn.004bf355
cmp byte [esp + 0x17], bl
je 0x4eeaf0
cmp dword [esi + 0x578], ebx
je 0x4eea90
mov ecx, dword [esi + 0x274]
lea eax, [esp + 0x58]
push eax
call fcn.004c95fd
mov byte [esp + 0x70], 0x4d
or dword [esp + 0x2c], 0x10
mov ecx, eax
call 0x51f4c8
test eax, eax
mov byte [esp + 0x17], 1
jne 0x4eea94
mov byte [esp + 0x17], bl
mov dword [esp + 0x70], edi
test byte [esp + 0x2c], 0x10
je 0x4eeaab
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
cmp byte [esp + 0x17], bl
je 0x4eeabd
mov dword [esi + 0x4f4], 0x76
jmp 0x4eeb06
lea eax, [esp + 0x58]
push eax
mov ecx, esi
mov dword [esi + 0x4f4], 8
call fcn.004ec4f1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 0x4e
call fcn.004bf4cc
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
jmp 0x4eeb06
cmp dword [esi + 0x5a4], ebx
je 0x4eeb06
push 0x4ba438
lea ecx, [esp + 0x20]
call fcn.004c0f7b
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.004bf355
xor edi, edi
inc edi
mov eax, dword [esi + 0x4f4]
cmp eax, 0x76
jne 0x4eebc5
cmp dword [esi + 0x498], ebx
je 0x4eeb61
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x4f
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x50
jmp 0x4eeb97
cmp dword [esi + 0x55c], ebx
je 0x4eeba3
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x51
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x52
push dword [eax]
push 0x4ba730
jmp 0x4eef36
lea eax, [esp + 0x58]
lea ebx, [esi + 0x51c]
push eax
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x53
push dword [eax]
push 0x4ba730
jmp 0x4ef054
cmp eax, 0x5e
jne 0x4eed12
call 0x52cc48
push eax
lea ecx, [esp + 0x34]
call fcn.004bf36f
mov byte [esp + 0x70], 0x54
cmp dword [esi + 0x498], ebx
je 0x4eec39
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x55
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x56
push eax
lea ecx, [esp + 0x34]
call fcn.004bf4cc
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 0x54
mov ecx, dword [esp + 0x54]
jmp 0x4eec9a
cmp dword [esi + 0x55c], ebx
je 0x4eec71
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x57
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x58
jmp 0x4eec18
lea eax, [esp + 0x58]
lea ebx, [esi + 0x51c]
push eax
call 0x51eb8c
pop ecx
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x74], 0x59
call fcn.004bf4cc
mov byte [esp + 0x70], 0x54
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
lea eax, [esp + 0x30]
push 0x4b5f80
push eax
call 0x51efe2
test eax, eax
mov esi, dword [esp + 0x38]
pop ecx
pop ecx
je 0x4eecf2
push 1
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x38]
call fcn.004befad
mov byte [esp + 0x70], 0x5a
push dword [eax]
lea eax, [esp + 0x20]
push 0x4ba6f8
push eax
call fcn.004bf640
mov ecx, dword [esp + 0x64]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004bf355
jmp 0x4eed05
push esi
lea eax, [esp + 0x20]
push 0x4ba6f8
push eax
call fcn.004bf640
add esp, 0xc
mov byte [esp + 0x70], 4
lea ecx, [esi - 0x10]
jmp 0x4ef06d
cmp eax, 0x50
jne 0x4eed89
push 0x4ba73c
lea ecx, [esp + 0x20]
call fcn.004c0f7b
push dword [esi + 0x284]
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.004ea85f
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.004bf355
xor eax, eax
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x2a
jne 0x4eee8f
cmp dword [esi + 0x498], ebx
je 0x4eedcd
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x5b
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x5c
jmp 0x4eee83
cmp dword [esi + 0x54c], ebx
lea ecx, [esi + 0x51c]
je 0x4eee61
push edi
lea eax, [esp + 0x54]
push eax
call fcn.004befad
lea ecx, [esp + 0x54]
push ecx
mov ecx, eax
mov byte [esp + 0x74], 0x5d
call 0x51d9b2
pop ecx
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x5e
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x5f
push dword [eax]
lea eax, [esp + 0x20]
push 0x4ba40c
push eax
call fcn.004bf640
mov ecx, dword [esp + 0x64]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.004bf355
mov eax, dword [ebp + 8]
and dword [eax + 0x54c], 0
mov esi, eax
jmp 0x4eed25
lea eax, [esp + 0x54]
push eax
call 0x51d9b2
pop ecx
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x60
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x61
push dword [eax]
push 0x4ba40c
jmp 0x4eef36
cmp eax, 0x16
jne 0x4eef5d
lea eax, [esp + 0x58]
push 0x6e
push eax
call 0x51ff94
pop ecx
pop ecx
lea ecx, [esi + 0x5c]
push eax
mov byte [esp + 0x74], 0x62
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
push ebx
push 0x8b1
call fcn.004fd7df
cmp dword [esi + 0x498], ebx
push edi
push edi
lea eax, [esp + 0x5c]
push ebx
je 0x4eef08
add esi, 0x51c
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x63
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x64
jmp 0x4eef2f
add esi, 0x51c
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x65
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x66
push dword [eax]
push 0x4ba744
lea eax, [esp + 0x24]
push eax
call fcn.004bf640
mov ecx, dword [esp + 0x64]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x54]
jmp 0x4ef06a
cmp eax, 0x14
jne 0x4ef07a
lea eax, [esp + 0x58]
push 0x6e
push eax
call 0x51ff94
pop ecx
pop ecx
lea ecx, [esi + 0x5c]
push eax
mov byte [esp + 0x74], 0x67
call fcn.004bf4cc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
push ebx
push 0x8b1
call fcn.004fd7df
cmp dword [esi + 0x498], ebx
je 0x4eefd9
push edi
push edi
push ebx
add esi, 0x51c
lea eax, [esp + 0x60]
push esi
push eax
call 0x51db02
add esp, 0x14
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x68
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x69
jmp 0x4eef2f
cmp dword [esi + 0x54c], ebx
je 0x4ef037
push edi
lea eax, [esp + 0x58]
push eax
lea ecx, [esi + 0x51c]
call fcn.004befad
lea ecx, [esp + 0x58]
push ecx
mov ebx, eax
mov byte [esp + 0x74], 0x6a
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x6b
push dword [eax]
lea eax, [esp + 0x20]
push 0x4ba744
push eax
call fcn.004bf640
mov ecx, dword [esp + 0x64]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x54]
jmp 0x4eee48
lea eax, [esp + 0x58]
lea ebx, [esi + 0x51c]
push eax
call 0x51eb8c
pop ecx
mov byte [esp + 0x70], 0x6c
push dword [eax]
push 0x4ba744
lea eax, [esp + 0x24]
push eax
call fcn.004bf640
mov byte [esp + 0x7c], 4
mov ecx, dword [esp + 0x64]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004bf355
mov esi, dword [ebp + 8]
jmp 0x4eed25
cmp eax, 0xc
jne 0x4ef118
lea eax, [esi + 0x2c0]
cmp dword [eax + 4], ebx
jl 0x4ef102
jg 0x4ef095
cmp dword [eax], 0x64
jbe 0x4ef102
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], eax
call 0x548325
push ebx
push 2
push dword [esp + 0x68]
cdq
mov ecx, edx
push edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
call 0x54d3d0
push edx
push eax
mov eax, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x60]
push eax
call 0x552530
mov ecx, eax
inc ecx
inc ecx
test ecx, ecx
jle 0x4ef0e7
mov eax, ecx
cdq
cmp edx, dword [esp + 0x60]
jl 0x4ef0ea
jg 0x4ef0e7
cmp eax, edi
jbe 0x4ef0ea
xor ecx, ecx
inc ecx
push ecx
lea eax, [esp + 0x20]
push 0x4ba750
push eax
call fcn.004bf640
add esp, 0xc
jmp 0x4eed25
lea eax, [esp + 0x1c]
push 0x4ba75c
push eax
call fcn.004bf640
pop ecx
pop ecx
jmp 0x4eed25
cmp eax, 0xa
jne 0x4ef2c5
mov eax, dword [esi + 0x274]
mov edx, dword [eax + 0x6c]
cmp dword [esi + 0x16c], edx
mov ecx, dword [eax + 0x68]
mov dword [esp + 0x5c], ecx
jl 0x4ef27d
jg 0x4ef14f
mov ecx, dword [esi + 0x168]
cmp ecx, dword [esp + 0x5c]
jbe 0x4ef27d
mov ecx, dword [eax + 0x6c]
cmp ecx, ebx
mov edx, dword [eax + 0x68]
jl 0x4ef27d
jg 0x4ef167
cmp edx, ebx
jbe 0x4ef27d
cmp dword [esi + 0x1f0], ebx
jle 0x4ef27d
push ebx
push edi
push ebx
push dword [eax + 0x6c]
mov ecx, edx
push ecx
lea eax, [esp + 0x54]
push eax
call 0x523aea
add esp, 0xc
mov dword [esp + 0x64], eax
mov byte [esp + 0x7c], 0x6d
push dword [esi + 0x16c]
lea eax, [esp + 0x54]
push dword [esi + 0x168]
push eax
call 0x523aea
add esp, 0xc
lea ecx, [esp + 0x54]
push 0x4ba76c
push ecx
mov ecx, eax
mov byte [esp + 0x84], 0x6e
call fcn.004c2a78
push 0x4ba768
push eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x90], 0x6f
call fcn.004bf05d
add esp, 0x14
mov byte [esp + 0x7c], 0x70
push dword [esp + 0x64]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004c0eeb
add esp, 8
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x4b5f74
push eax
push ecx
mov byte [esp + 0x8c], 0x71
call fcn.004bf05d
lea eax, [esp + 0x70]
add esp, 0xc
push eax
call 0x51feea
pop ecx
pop ecx
mov ecx, eax
mov byte [esp + 0x7c], 0x72
call fcn.004faeae
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.004bf355
mov ecx, dword [esp + 0x44]
add ecx, 0xfffffff0
call fcn.004bf355
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.004bf355
jmp 0x4ee402
push dword [esi + 0x16c]
lea eax, [esp + 0x5c]
push dword [esi + 0x168]
push eax
call 0x523aea
add esp, 0xc
mov byte [esp + 0x70], 0x73
push dword [eax]
lea eax, [esp + 0x20]
push 0x4ba788
push eax
call fcn.004bf640
add esp, 0xc
mov byte [esp + 0x70], 4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.004bf355
jmp 0x4eed25
cmp eax, 8
jne 0x4eed25
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call fcn.004ec4f1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 0x74
call fcn.004bf4ba
jmp 0x4ef2af