Function at 0x4edec0
Capabilities:
Check for software breakpoints

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c8]
cmp eax, dword [ecx + 8]
jbe 0x4ef0c6
sub esp, 0x248
mov ecx, dword [esp + 0x24c]
mov dword [ecx + 0x10], 0
mov edx, dword [0x1eaa9f0]
lea eax, [ecx + 0x1c]
test edx, edx
jne 0x4edf03
mov dword [ecx + 0x40], eax
jmp 0x4edf0b
lea edi, [ecx + 0x40]
call fcn.00465d80
lea eax, [ecx + 0x40]
mov dword [esp + 0xfc], eax
mov dword [esp], eax
call fcn.004e4750
nop
mov eax, dword [esp + 0x24c]
mov dword [eax + 0x74], 0
mov dword [eax + 0x80], 0
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.00465fea
lea edi, [esp + 0x224]
call fcn.00465fe7
mov ecx, dword [esp + 0x24c]
lea edx, [ecx + 0xe0]
mov dword [esp + 0x104], edx
mov dword [esp], edx
call fcn.004deee0
movzx eax, byte [esp + 0x28]
lea edi, [esp + 0x224]
lea esi, [esp + 4]
call fcn.004664a6
lea edi, [esp + 0x200]
lea esi, [esp + 0x224]
call fcn.004664a6
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x24c]
jmp 0x4edff7
lea edi, [esp + 0x224]
xor eax, eax
call fcn.00465fe7
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
call fcn.004deee0
movzx eax, byte [esp + 0x28]
lea edi, [esp + 0x224]
lea esi, [esp + 4]
call fcn.004664a6
lea edi, [esp + 0x200]
lea esi, [esp + 0x224]
call fcn.004664a6
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x24c]
test al, al
je 0x4eeef4
mov ebx, dword [esp + 0x210]
mov ebp, dword [esp + 0x20c]
mov eax, ebp
mov ebp, dword [esp + 0x214]
test ebx, ebx
jbe 0x4ef0bc
mov esi, ebp
movzx ebp, byte [eax]
xchg ebp, eax
cmp al, 0xd8
xchg ebp, eax
ja 0x4ee8c2
xchg ebp, eax
cmp al, 0xd4
xchg ebp, eax
ja 0x4ee1d5
xchg ebp, eax
cmp al, 0xcc
xchg ebp, eax
ja 0x4ee1b3
xchg ebp, eax
cmp al, 0xcb
xchg ebp, eax
je 0x4ee0a3
xchg ebp, eax
cmp al, 0xcc
xchg ebp, eax
jne 0x4edfa4
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea eax, [ebx - 1]
cmp ebx, eax
jbe 0x4ef0b5
lea ebx, [ebx + ebx*2]
lea esi, [ebp + ebx*8 - 0x18]
lea edi, [esp + 0xc0]
call fcn.004664c4
mov ecx, dword [edx + 0x14]
cmp ecx, eax
jb 0x4ef0ac
mov dword [edx + 0x10], eax
lea edi, [edx + 0x44]
lea esi, [esp + 0xc0]
call fcn.004664c4
mov ecx, dword [esp + 0x104]
jmp 0x4edfa4
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.004deca0
movzx eax, byte [esp + 0x24]
lea edi, [esp + 0xd8]
lea esi, [esp + 0xc]
call fcn.004664c4
lea edi, [esp + 0x90]
lea esi, [esp + 0xd8]
call fcn.004664c4
test al, al
je 0x4ee15d
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x10]
inc ecx
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
cmp ebx, ecx
jae 0x4ee147
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6e1f40]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24c]
mov dword [ebx + 0x14], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x4ee13b
mov dword [ebx + 0xc], eax
jmp 0x4ee143
lea edi, [ebx + 0xc]
call fcn.00465d80
mov edx, eax
mov eax, ebx
mov dword [eax + 0x10], ecx
lea ecx, [ecx + ecx*2]
lea edi, [edx + ecx*8 - 0x18]
lea esi, [esp + 0xc0]
call fcn.004664c4
lea edi, [esp]
lea esi, [esp + 0xc0]
call fcn.004664c4
lea edi, [esp + 0x18]
lea esi, [esp + 0x90]
call fcn.004664c4
call fcn.004cac20
lea edi, [esp + 0xc0]
lea esi, [esp + 0x30]
call fcn.004664c4
mov eax, dword [esp + 0x24c]
lea edi, [eax + 0x44]
lea esi, [esp + 0xc0]
call fcn.004664c4
mov ecx, dword [esp + 0x104]
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xd3
xchg ebp, eax
jne 0x4ee1c2
inc dword [edx + 0x60]
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xd4
xchg ebp, eax
jne 0x4edfa4
dec dword [edx + 0x60]
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xd6
xchg ebp, eax
ja 0x4ee722
xchg ebp, eax
cmp al, 0xd5
xchg ebp, eax
jne 0x4ee5ea
mov ebx, dword [esp + 0x218]
mov ebp, dword [esp + 0x21c]
test ebp, ebp
jbe 0x4ef0a3
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
test eax, eax
je 0x4ef095
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ebx
je 0x4ef07d
mov dword [esp + 0x50], eax
mov dword [esp + 0xf0], ebx
mov eax, dword [edx + 0x18]
lea ecx, [0x69d6e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
call fcn.0040d010
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
test al, al
jne 0x4ee303
lea eax, [0x6cd7a0]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x24c]
mov edx, dword [ecx + 0x18]
test edx, edx
jne 0x4ee2ba
call fcn.0040ca70
mov eax, dword [0x1eaa9f0]
mov ecx, dword [esp]
test eax, eax
jne 0x4ee2a5
mov eax, dword [esp + 0x24c]
mov dword [eax + 0x18], ecx
jmp 0x4ee2b8
mov edx, dword [esp + 0x24c]
lea edi, [edx + 0x18]
mov eax, ecx
call fcn.00465d80
mov eax, edx
mov ecx, eax
mov eax, dword [ecx + 0x18]
lea edx, [0x69d6e0]
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
call fcn.0040d390
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x4ee2f5
mov eax, dword [esp + 0xf8]
mov dword [edi], eax
jmp 0x4ee301
mov eax, dword [esp + 0xf8]
call fcn.00465d80
mov ecx, eax
mov dword [esp + 0xf8], ecx
mov byte [ecx], 1
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 8], ebx
lea ebp, [ecx + 4]
mov dword [esp + 0xc], ebp
call fcn.004e3b00
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x4ee373
mov edx, dword [eax + 0x40]
lea ebx, [ecx - 1]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
cmp ebp, ebx
jbe 0x4ef074
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*4 - 0x14]
lea edi, [esp + 0x1cc]
call fcn.004664ce
mov ecx, dword [esp + 0x1d0]
jmp 0x4ee378
mov ecx, 0xffffffff
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.004e3180
mov eax, dword [esp + 0xf8]
movzx ecx, byte [eax + 0x5c]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test cl, cl
je 0x4ee5dc
mov dword [esp + 0x64], esi
lea edi, [esp + 0xa8]
lea esi, [esp + 0xc0]
call fcn.004664c4
mov byte [eax + 0xc], 1
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x4ee5c7
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x24c]
mov esi, ebp
mov ebp, dword [ecx + 0x74]
inc ebp
mov dword [eax + 0x10], ebp
mov ebp, dword [ecx + 0x74]
inc ebp
mov edi, ebx
mov ebx, dword [ecx + 0x70]
mov edx, dword [ecx + 0x78]
cmp edx, ebp
jae 0x4ee469
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], esi
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x69f0a0]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24c]
mov dword [ebx + 0x78], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x4ee447
mov dword [ebx + 0x70], eax
jmp 0x4ee44f
lea edi, [ebx + 0x70]
call fcn.00465d80
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
mov ebp, ecx
mov ebx, eax
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x24c]
mov dword [ecx + 0x74], ebp
lea edx, [ebx + ebp*8 - 8]
mov ecx, dword [esp + 0x50]
mov dword [edx], ecx
lea edx, [ebx + ebp*8 - 4]
mov ebx, dword [0x1eaa9f0]
test ebx, ebx
jne 0x4ee48f
mov ebx, dword [esp + 0xf0]
mov dword [edx], ebx
jmp 0x4ee4a7
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, dword [esp + 0xf0]
call fcn.00465d80
mov edi, ebx
mov ebx, eax
mov eax, ebp
mov edx, edi
lea edi, [esp + 0x1e0]
mov ebp, eax
xor eax, eax
call fcn.00465fe8
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], ebx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1f8], esi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x24c]
mov edx, dword [ecx + 0x7c]
mov ebx, dword [ecx + 0x84]
mov esi, ebp
mov ebp, dword [ecx + 0x80]
inc ebp
cmp ebx, ebp
jae 0x4ee578
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6c3400]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24c]
mov dword [ebx + 0x84], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x4ee561
mov dword [ebx + 0x7c], eax
jmp 0x4ee569
lea edi, [ebx + 0x7c]
call fcn.00465d80
mov esi, dword [esp + 0xf8]
mov ebp, ecx
mov edx, eax
xor eax, eax
mov ecx, ebx
mov dword [ecx + 0x80], ebp
mov ebx, dword [0x1eaa9f0]
dec ebp
shl ebp, 5
lea edi, [edx + ebp]
test ebx, ebx
jne 0x4ee59f
mov edx, esi
lea esi, [esp + 0x1e0]
call fcn.004664b0
jmp 0x4ee5cb
lea eax, [0x6c3400]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1e0]
mov dword [esp + 8], eax
call fcn.004115f0
xor eax, eax
mov edx, dword [esp + 0xf8]
jmp 0x4ee5cb
mov edx, eax
xor eax, eax
lea edi, [edx + 0x18]
lea esi, [esp + 0xa8]
call fcn.004664c4
jmp 0x4ee5de
xor eax, eax
mov ecx, dword [esp + 0x104]
jmp 0x4edfa4
mov ebp, dword [esp + 0x218]
mov esi, dword [esp + 0x21c]
test esi, esi
jbe 0x4ef06b
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
test esi, esi
je 0x4ef05d
cmp ebx, 1
jbe 0x4ef051
movzx eax, byte [eax + 1]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebp
test esi, esi
je 0x4ef039
mov byte [esp + 0x4b], al
mov eax, dword [edx + 0x18]
lea ecx, [0x69d6e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x108]
mov dword [esp + 8], eax
call fcn.0040d010
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
test al, al
jne 0x4ee70b
lea eax, [0x6cd7a0]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0x24c]
mov edx, dword [ecx + 0x18]
test edx, edx
jne 0x4ee6c2
call fcn.0040ca70
mov eax, dword [0x1eaa9f0]
mov ecx, dword [esp]
test eax, eax
jne 0x4ee6ad
mov eax, dword [esp + 0x24c]
mov dword [eax + 0x18], ecx
jmp 0x4ee6c0
mov edx, dword [esp + 0x24c]
lea edi, [edx + 0x18]
mov eax, ecx
call fcn.00465d80
mov eax, edx
mov ecx, eax
mov eax, dword [ecx + 0x18]
lea edx, [0x69d6e0]
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [esp + 0x108]
mov dword [esp + 8], eax
call fcn.0040d390
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x4ee6fd
mov ecx, dword [esp + 0xf4]
mov dword [edi], ecx
jmp 0x4ee70b
mov eax, dword [esp + 0xf4]
call fcn.00465d80
mov ecx, eax
mov byte [ecx], 1
movzx edx, byte [esp + 0x4b]
mov byte [ecx + 0xe], dl
mov ecx, dword [esp + 0x104]
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xd7
xchg ebp, eax
jne 0x4ee840
nop
dec ebx
cmp ebx, 3
jbe 0x4ef02d
mov ebx, dword [edx + 4]
lea ebp, [esi - 1]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
mov eax, dword [eax + ebp]
mov ebp, eax
sub eax, ebx
mov ebx, dword [edx + 8]
mov esi, edx
mov edx, dword [edx]
mov edi, edx
lea edx, [eax + 1]
test edx, edx
jle 0x4ee814
mov dword [esp + 0x54], ebp
lea ecx, [ebp + 1]
cmp ebx, ecx
jae 0x4ee7a4
mov dword [esp + 0x64], eax
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
lea eax, [0x6e1f40]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edi, edx
mov dword [esp + 0x100], edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ecx
sub ecx, eax
lea ecx, [ecx + ecx*2]
lea ecx, [edi + ecx*8 - 0x18]
mov dword [esp], ecx
lea eax, [eax + eax*2]
shl eax, 3
add eax, 0x18
mov dword [esp + 4], eax
call fcn.00466510
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x24c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x64]
mov dword [edi + 8], eax
mov eax, dword [0x1eaa9f0]
test eax, eax
jne 0x4ee7fb
mov edx, dword [esp + 0x100]
mov dword [edi], edx
jmp 0x4ee807
mov eax, dword [esp + 0x100]
call fcn.00465d80
mov ecx, dword [esp + 0x104]
mov ebp, dword [esp + 0x54]
mov esi, edi
mov edx, dword [esi + 4]
mov ebx, dword [esi]
cmp ebp, edx
jae 0x4ef024
lea edx, [ebp + ebp*2]
lea edi, [ebx + edx*8]
lea esi, [esp + 0xc0]
call fcn.004664c4
mov ecx, dword [esp + 0x104]
jmp 0x4edfa4
nop
dec ebx
cmp ebx, 3
jbe 0x4ef018
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov edi, edx
lea edx, [esi - 1]
neg edx
sar edx, 0x1f
and edx, 1
mov eax, dword [eax + edx]
cmp eax, ebx
jae 0x4ef011
lea edx, [eax + eax*2]
lea esi, [ebp + edx*8]
mov eax, edi
lea edi, [esp + 0xc0]
call fcn.004664c4
nop
lea edi, [eax + 0x44]
xor eax, eax
call fcn.00465fe8
mov ecx, dword [esp + 0x24c]
mov dword [ecx + 0x68], 0
mov edx, dword [ecx + 0x40]
mov edx, dword [edx + 4]
test edx, edx
je 0x4ee8a7
mov dword [ecx + 0x5c], 1
lea edi, [ecx + 0x44]
lea esi, [esp + 0xc0]
call fcn.004664c4
mov ecx, dword [esp + 0x104]
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xdf
xchg ebp, eax
ja 0x4eeb0a
xchg ebp, eax
cmp al, 0xdb
xchg ebp, eax
ja 0x4ee9a4
xchg ebp, eax
cmp al, 0xda
xchg ebp, eax
je 0x4ee916
xchg ebp, eax
cmp al, 0xdb
xchg ebp, eax
jne 0x4edfa4
mov ebx, dword [edx + 0x68]
mov ebp, dword [edx + 0x64]
lea eax, [ebx - 1]
cmp ebx, eax
jbe 0x4ef00a
mov ebx, dword [ebp + ebx*4 - 4]
inc ebx
mov dword [edx + 0x5c], ebx
mov ebx, dword [edx + 0x6c]
cmp ebx, eax
jb 0x4ef001
mov dword [edx + 0x68], eax
jmp 0x4edfa4
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.00465feb
mov ecx, dword [esp + 0x20c]
mov edx, dword [esp + 0x210]
mov ebx, dword [esp + 0x214]
lea ebp, [esp + 0x7c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004dec20
lea edi, [esp + 0x68]
lea esi, [esp + 0x7c]
call fcn.004664ce
cmp byte [esp + 0x79], 1
sete cl
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov eax, esi
mov esi, dword [esp + 0xfc]
mov dword [esp], esi
mov byte [esp + 4], cl
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], eax
call fcn.004e2df0
mov ecx, dword [esp + 0x104]
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xdc
xchg ebp, eax
jne 0x4eea27
cmp ebx, 1
jbe 0x4eeff5
movzx ebx, byte [eax + 1]
mov ebp, dword [edx + 0x5c]
test ebp, ebp
je 0x4eea05
mov eax, ebx
mov ebx, dword [edx + 0x40]
mov esi, edx
lea edx, [ebp - 1]
mov edi, ebp
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jbe 0x4eefec
lea edx, [edi + edi*4]
lea edx, [ebx + edx*4 - 0x14]
lea edi, [esp + 0x1b8]
mov ebx, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x1bc]
mov edx, ebx
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x4eea0a
mov eax, 0xffffffff
mov ebp, dword [edx + 0x40]
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xc]
cmp eax, esi
jae 0x4eefe5
imul esi, eax, 0x70
mov byte [ebp + esi + 0x2c], bl
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xdf
xchg ebp, eax
jne 0x4edfa4
mov ebx, dword [esp + 0x218]
mov ebp, dword [esp + 0x21c]
test ebp, ebp
jbe 0x4eefdc
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
mov eax, edx
lea edx, [0x68d300]
cmp ebx, edx
jne 0x4eefc6
mov ebx, dword [ebp]
mov ebp, dword [ebp + 4]
nop
mov edx, dword [eax + 0x5c]
test edx, edx
je 0x4eeabb
mov dword [esp + 0x64], edx
mov esi, ebx
mov ebx, dword [eax + 0x40]
mov edi, ebp
lea ebp, [edx - 1]
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, ebp
jbe 0x4eefbd
mov edx, dword [esp + 0x64]
lea edx, [edx + edx*4]
lea edx, [ebx + edx*4 - 0x14]
mov ebx, edi
lea edi, [esp + 0x190]
mov ebp, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x194]
mov edx, ecx
mov ecx, dword [esp + 0x104]
mov esi, ebx
mov ebx, ebp
mov ebp, esi
jmp 0x4eeac0
mov edx, 0xffffffff
mov esi, dword [eax + 0x40]
mov edi, ebx
mov ebx, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
cmp edx, esi
jae 0x4eefb4
imul edx, edx, 0x70
mov byte [ebx + edx + 0x40], 1
mov dword [ebx + edx + 0x54], ebp
lea ebp, [ebx + edx + 0x50]
mov esi, dword [0x1eaa9f0]
test esi, esi
jne 0x4eeaf6
mov dword [ebx + edx + 0x50], edi
jmp 0x4edfa4
mov edx, edi
mov edi, ebp
mov ebx, eax
mov eax, edx
call fcn.00465d80
mov eax, ebx
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xe1
xchg ebp, eax
ja 0x4eec79
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x4eebf8
mov ebx, dword [esp + 0x218]
mov ebp, dword [esp + 0x21c]
test ebp, ebp
jbe 0x4eefab
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
mov eax, edx
lea edx, [0x68d300]
cmp ebx, edx
jne 0x4eef95
mov ebx, dword [ebp]
mov ebp, dword [ebp + 4]
nop
mov edx, dword [eax + 0x5c]
test edx, edx
je 0x4eeba9
mov dword [esp + 0x64], edx
mov esi, ebx
mov ebx, dword [eax + 0x40]
mov edi, ebp
lea ebp, [edx - 1]
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, ebp
jbe 0x4eef8c
mov edx, dword [esp + 0x64]
lea edx, [edx + edx*4]
lea edx, [ebx + edx*4 - 0x14]
mov ebx, edi
lea edi, [esp + 0x17c]
mov ebp, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x180]
mov edx, ecx
mov ecx, dword [esp + 0x104]
mov esi, ebx
mov ebx, ebp
mov ebp, esi
jmp 0x4eebae
mov edx, 0xffffffff
mov esi, dword [eax + 0x40]
mov edi, ebx
mov ebx, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
cmp edx, esi
jae 0x4eef83
imul edx, edx, 0x70
mov byte [ebx + edx + 0x40], 1
mov dword [ebx + edx + 0x5c], ebp
lea ebp, [ebx + edx + 0x58]
mov esi, dword [0x1eaa9f0]
test esi, esi
jne 0x4eebe4
mov dword [ebx + edx + 0x58], edi
jmp 0x4edfa4
mov edx, edi
mov edi, ebp
mov ebx, eax
mov eax, edx
call fcn.00465d80
mov eax, ebx
jmp 0x4edfa4
cmp ebx, 1
jbe 0x4eef77
movzx ebx, byte [eax + 1]
mov ebp, dword [edx + 0x5c]
test ebp, ebp
je 0x4eec52
mov eax, ebx
mov ebx, dword [edx + 0x40]
mov esi, edx
lea edx, [ebp - 1]
mov edi, ebp
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jbe 0x4eef6e
lea edx, [edi + edi*4]
lea edx, [ebx + edx*4 - 0x14]
lea edi, [esp + 0x168]
mov ebx, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x16c]
mov edx, ebx
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x4eec57
mov eax, 0xffffffff
mov ebp, dword [edx + 0x40]
mov esi, dword [ebp + 0xc]
mov ebp, dword [ebp + 0x10]
cmp eax, ebp
jae 0x4eef67
imul ebp, eax, 0x70
mov byte [esi + ebp + 0x40], 1
mov dword [esi + ebp + 0x60], ebx
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x4eed77
cmp ebx, 1
jbe 0x4eef5b
movzx ebx, byte [eax + 1]
test bl, bl
je 0x4eed06
nop
mov ebx, dword [edx + 0x5c]
test ebx, ebx
je 0x4eecde
mov ebp, dword [edx + 0x40]
lea eax, [ebx - 1]
mov esi, edx
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
cmp edx, eax
jbe 0x4eef54
lea edx, [ebx + ebx*4]
lea edx, [ebp + edx*4 - 0x14]
lea edi, [esp + 0x154]
mov eax, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x158]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x4eece3
mov eax, 0xffffffff
mov ebx, dword [edx + 0x40]
mov ebp, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
cmp eax, ebx
jae 0x4eef4d
imul ebx, eax, 0x70
mov byte [ebp + ebx + 0x40], 1
mov byte [ebp + ebx + 0x68], 1
jmp 0x4edfa4
nop
mov ebx, dword [edx + 0x5c]
test ebx, ebx
je 0x4eed4f
mov ebp, dword [edx + 0x40]
lea eax, [ebx - 1]
mov esi, edx
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
cmp edx, eax
jbe 0x4eef46
lea edx, [ebx + ebx*4]
lea edx, [ebp + edx*4 - 0x14]
lea edi, [esp + 0x140]
mov eax, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x4eed54
mov eax, 0xffffffff
mov ebx, dword [edx + 0x40]
mov ebp, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
cmp eax, ebx
jae 0x4eef3f
imul ebx, eax, 0x70
mov byte [ebp + ebx + 0x40], 1
mov byte [ebp + ebx + 0x68], 0
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xe3
xchg ebp, eax
jne 0x4eee75
cmp ebx, 1
jbe 0x4eef33
movzx ebx, byte [eax + 1]
test bl, bl
je 0x4eee04
nop
mov ebx, dword [edx + 0x5c]
test ebx, ebx
je 0x4eeddc
mov ebp, dword [edx + 0x40]
lea eax, [ebx - 1]
mov esi, edx
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
cmp edx, eax
jbe 0x4eef2c
lea edx, [ebx + ebx*4]
lea edx, [ebp + edx*4 - 0x14]
lea edi, [esp + 0x12c]
mov eax, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x130]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x4eede1
mov eax, 0xffffffff
mov ebx, dword [edx + 0x40]
mov ebp, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
cmp eax, ebx
jae 0x4eef25
imul ebx, eax, 0x70
mov byte [ebp + ebx + 0x40], 1
mov byte [ebp + ebx + 0x69], 0
jmp 0x4edfa4
nop
mov ebx, dword [edx + 0x5c]
test ebx, ebx
je 0x4eee4d
mov ebp, dword [edx + 0x40]
lea eax, [ebx - 1]
mov esi, edx
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
cmp edx, eax
jbe 0x4eef1e
lea edx, [ebx + ebx*4]
lea edx, [ebp + edx*4 - 0x14]
lea edi, [esp + 0x118]
mov eax, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x11c]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x4eee52
mov eax, 0xffffffff
mov ebx, dword [edx + 0x40]
mov ebp, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
cmp eax, ebx
jae 0x4eef17
imul ebx, eax, 0x70
mov byte [ebp + ebx + 0x40], 1
mov byte [ebp + ebx + 0x69], 1
jmp 0x4edfa4
xchg ebp, eax
cmp al, 0xe4
xchg ebp, eax
jne 0x4edfa4
cmp ebx, 1
jbe 0x4eef0b
movzx ebx, byte [eax + 1]
mov ebp, dword [edx + 0x5c]
test ebp, ebp
je 0x4eeed6
mov eax, ebx
mov ebx, dword [edx + 0x40]
mov esi, edx
lea edx, [ebp - 1]
mov edi, ebp
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jbe 0x4eef02
lea edx, [edi + edi*4]
lea edx, [ebx + edx*4 - 0x14]
lea edi, [esp + 0x1a4]
mov ebx, esi
mov esi, edx
call fcn.004664ce
mov ecx, dword [esp + 0x1a8]
mov edx, ebx
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x104]
jmp 0x4eeedb
mov eax, 0xffffffff
mov ebp, dword [edx + 0x40]
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xc]
cmp eax, esi
jae 0x4eeefb
imul esi, eax, 0x70
mov dword [ebp + esi + 0x6c], ebx
jmp 0x4edfa4
add esp, 0x248
ret
mov ecx, esi
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, 1
mov ecx, eax
call fcn.00465e00
mov ecx, ebx
call fcn.00465e00
mov ecx, edx
call fcn.00465e00
mov ecx, ebx
call fcn.00465e00
mov ecx, edx
call fcn.00465e00
mov eax, 1
mov ecx, eax
call fcn.00465e00
mov ecx, ebx
call fcn.00465e00
mov ecx, edx
call fcn.00465e00
mov ecx, ebx
call fcn.00465e00
mov ecx, edx
call fcn.00465e00
mov eax, 1
mov ecx, eax
call fcn.00465e00
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, 1
mov ecx, eax
call fcn.00465e00
mov eax, edx
mov ecx, esi
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x69b740]
mov dword [esp + 8], eax
call fcn.00409400
xor eax, eax
mov ecx, eax
call fcn.00465e00
mov eax, edx
mov ecx, esi
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x69b740]
mov dword [esp + 8], eax
call fcn.00409400
xor eax, eax
mov ecx, eax
call fcn.00465e00
mov ecx, esi
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, 1
mov ecx, eax
call fcn.00465e00
mov ecx, eax
mov edx, ebx
call fcn.00465e40
mov ecx, ebx
call fcn.00465e00
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
lea eax, [0x69bcc0]
mov dword [esp], eax
lea eax, [0x784954]
mov dword [esp + 4], eax
call fcn.00436d20
mov eax, 1
mov ecx, eax
call fcn.00465e00
lea eax, [0x69f0a0]
mov dword [esp], eax
call fcn.00409560
xor eax, eax
mov ecx, eax
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
lea eax, [0x69bcc0]
mov dword [esp], eax
lea eax, [0x784954]
mov dword [esp + 4], eax
call fcn.00436d20
lea eax, [0x69f0a0]
mov dword [esp], eax
call fcn.00409560
xor eax, eax
mov ecx, eax
call fcn.00465e00
mov edx, ecx
mov ecx, eax
call fcn.00465e40
mov ecx, ebx
call fcn.00465e00
xor eax, eax
mov ecx, eax
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.004edec0