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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x94]
cmp eax, dword [ecx + 8]
jbe 0x4a618a
sub esp, 0x114
mov ecx, dword [esp + 0x120]
cmp ecx, 2
jl 0x4a60db
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0x11c]
mov eax, edx
mov ebp, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov word [esp + 0x24], ax
xor edx, edx
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x2c], edx
xor edx, edx
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0x124]
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov ebx, ebp
mov eax, edx
jmp 0x4a4e2d
lea ecx, [esi + 1]
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + 0x110]
movzx edx, word [esp + 0x22]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x34], ecx
movzx ecx, word [esp + 0x24]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
cmp esi, edx
jge 0x4a4dd0
cmp esi, ebx
jge 0x4a4dd0
cmp esi, edx
jae 0x4a617c
mov ecx, dword [esp + 0x110]
mov ecx, dword [ecx + esi*4]
cmp esi, ebx
jae 0x4a617c
mov ebp, dword [ebp + esi*4]
cmp ecx, ebp
je 0x4a4d7b
test esi, esi
jle 0x4a4eb8
mov ecx, dword [esp + 0x30]
cmp esi, ecx
ja 0x4a6175
movzx edx, word [esp + 0x24]
mov ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
inc eax
mov word [esp + 0x24], dx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x110], ebx
mov edx, ebp
mov ebx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x120]
mov ebp, dword [esp + 0x11c]
mov esi, eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x10c], ebx
cmp esi, ecx
jg 0x4a54ea
mov dword [esp + 0x60], esi
jge 0x4a54d9
jae 0x4a6183
mov ebx, dword [ebp + esi*4]
nop
cmp byte [ebx], 0x12
jne 0x4a54d2
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jle 0x4a54d2
mov edx, dword [edx]
cmp byte [edx], 3
je 0x4a54b2
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x28], edx
xor edx, edx
mov word [esp + 0x22], dx
mov dword [esp + 0x108], ebp
movzx ecx, word [esp + 0x24]
cmp dx, cx
jne 0x4a54a9
mov dword [esp + 0xb8], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb8]
jmp 0x4a4d9e
mov ecx, dword [esp + 0x108]
mov ebp, dword [esp + 0x28]
movzx esi, word [esp + 0x22]
mov edx, dword [esp + 0x60]
cmp edx, edi
jne 0x4a4f0d
mov edi, dword [esp + 0x38]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x110], edi
mov edi, dword [esp + 0x38]
mov edx, esi
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0x38], edi
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x10c], ecx
mov edi, dword [esp + 0x60]
mov ecx, ebp
mov ebp, dword [esp + 0x3c]
jmp 0x4a4df4
mov dword [esp + 0x104], ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebp
mov word [esp + 0x26], si
lea ecx, [edi + 1]
cmp edx, ecx
jne 0x4a5040
mov ecx, dword [esp + 0x120]
cmp edi, ecx
jae 0x4a616e
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x11c]
mov ebx, dword [ebx + edi*4]
mov edi, ebp
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
ja 0x4a4fde
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x38], edx
mov esi, dword [esp + 0xe8]
lea edx, [esi + ecx*4]
mov dword [esp + 0x100], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4a4fc6
mov dword [esi + ecx*4], ebx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x50]
mov edi, ecx
mov dword [esp + 0x110], esi
mov dword [esp + 0x3c], ebp
mov ecx, dword [esp + 0x104]
mov ebp, dword [esp + 0x54]
movzx esi, word [esp + 0x26]
jmp 0x4a4ee6
mov ecx, edi
mov edi, dword [esp + 0x100]
mov edx, eax
mov eax, ebx
call fcn.0044a9c0
mov eax, edx
mov edi, ecx
jmp 0x4a4f98
mov dword [esp + 0xfc], ebx
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xfc]
movzx esi, word [esp + 0x26]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x124]
jmp 0x4a4f76
mov dword [esp + 0x44], edi
nop
mov ecx, dword [esp + 0x118]
mov ebx, dword [ecx + 0x10]
lea ebp, [ecx + 0x10]
mov dword [esp + 0xf8], ebp
test ebx, ebx
je 0x4a547e
mov esi, dword [0x5c2560]
mov edx, dword [ebx + 0x10]
test esi, esi
jne 0x4a543c
mov dword [ecx + 0x10], edx
mov edx, edi
mov edi, ebx
mov esi, eax
xor eax, eax
call fcn.0044aab1
mov dword [esp + 0xe4], ebx
mov byte [ebx], 3
movzx ecx, word [esp + 0x24]
mov word [ebx + 2], cx
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebx + 0x1c]
mov ebp, dword [esp + 0x2c]
cmp ebp, edi
ja 0x4a5409
mov dword [esp + 0x108], ecx
mov dword [esp + 0x7c], edi
mov dword [esp], ecx
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0044b1c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xe4]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4a53f1
mov edx, dword [esp + 0x108]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x44]
jmp 0x4a514c
lea edi, [edx + 1]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x120]
mov ebp, dword [esp + 0x60]
mov ecx, dword [esp + 0xe4]
mov edx, ebx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x60]
cmp edi, esi
jge 0x4a519c
cmp edi, ebp
jae 0x4a6167
mov dword [esp + 0x7c], edi
mov ecx, dword [edx + edi*4]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a61a0
mov eax, dword [0x5c2560]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x11c]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x4a5190
mov dword [ebx + edx*4], ecx
jmp 0x4a5118
mov eax, ecx
call fcn.0044a9c0
jmp 0x4a5118
test esi, esi
jl 0x4a6160
mov eax, dword [esp + 0x44]
cmp eax, esi
ja 0x4a6160
mov dword [esp], ebx
mov ecx, dword [esp + 0x124]
sub ecx, eax
mov dword [esp + 0x7c], ecx
mov edi, eax
shl eax, 2
neg ecx
sar ecx, 0x1f
and ecx, eax
lea eax, [edx + ecx]
mov dword [esp + 4], eax
sub esi, edi
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0x13
call fcn.004a4930
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc8], eax
nop
mov ecx, dword [esp + 0x118]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x4a53d1
mov dword [esp + 0xd0], edi
mov edx, dword [0x5c2560]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x4a539f
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044aab1
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xdc], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 0xc]
cmp ebp, 2
jb 0x4a5355
mov esi, 2
mov edi, ebp
mov ebp, dword [0x5c2560]
test ebp, ebp
jne 0x4a532c
mov ebp, dword [esp + 0xe4]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4a531b
mov dword [ecx + 4], ebx
mov edx, dword [esp + 0x38]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
ja 0x4a52d8
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x3c], ebp
mov edi, ebx
mov ebx, dword [0x5c2560]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x4a52c7
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x124]
mov ecx, edi
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x54]
jmp 0x4a4f9c
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044a9c0
xor eax, eax
mov edi, edx
jmp 0x4a52b1
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00436de0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x38]
jmp 0x4a529b
lea edi, [ecx + 4]
mov eax, ebx
call fcn.0044a9c0
xor eax, eax
jmp 0x4a5285
mov dword [esp + 0x7c], edi
mov edi, ebx
mov eax, dword [esp + 0xe4]
call fcn.0044a9c0
lea ebp, [ebx + 4]
mov edi, ebp
mov eax, edx
call fcn.0044a9c0
xor eax, eax
mov edi, dword [esp + 0x7c]
jmp 0x4a526e
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 2
call fcn.00436de0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xc8]
jmp 0x4a5252
mov eax, edi
mov edi, dword [esp + 0xf8]
mov ecx, eax
mov eax, ebx
call fcn.0044a9c0
lea edx, [0x4e55e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040e200
xor eax, eax
mov edx, dword [esp + 0xc8]
jmp 0x4a522d
lea eax, [0x4e55e0]
mov dword [esp], eax
call fcn.004098b0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xc8]
jmp 0x4a5234
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0x108]
call fcn.0044a9c0
mov eax, edx
jmp 0x4a50f9
lea eax, [0x4d3dc0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00436de0
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
jmp 0x4a50a7
mov dword [esp + 0xd4], ebx
mov edi, ebp
mov eax, edx
call fcn.0044a9c0
lea ecx, [0x4e55e0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0040e200
xor eax, eax
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x124]
jmp 0x4a5082
lea eax, [0x4e55e0]
mov dword [esp], eax
call fcn.004098b0
mov ebx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x124]
jmp 0x4a5082
mov edx, dword [esp + 0x2c]
jmp 0x4a4eb8
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x14]
mov eax, dword [edx + 0x1c]
movzx edx, word [edx + 2]
and edx, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x124]
jmp 0x4a4e85
mov edx, ebx
jmp 0x4a4e6e
mov edx, dword [esp + 0x2c]
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4a4ec8
mov ecx, dword [esp + 0x38]
mov eax, ebx
mov ebp, edx
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0xe0], eax
xor edx, edx
mov dword [esp + 0x7c], edx
mov edx, ebp
mov eax, ebx
jmp 0x4a551f
inc esi
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x110], ebx
cmp esi, ecx
jg 0x4a5b36
mov dword [esp + 0x58], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x4c], edi
jge 0x4a5b28
jae 0x4a6159
mov ebp, dword [eax + esi*4]
nop
movzx ebx, byte [ebp]
cmp bl, 2
jne 0x4a5af1
xor ebx, ebx
mov ebp, dword [esp + 0xe0]
test ebp, ebp
jne 0x4a5aab
mov dword [esp + 0xa8], eax
xor eax, eax
mov byte [esp + 0x21], al
mov eax, dword [esp + 0xa8]
movzx edx, byte [esp + 0x21]
test dl, dl
je 0x4a55de
nop
movzx edx, byte [ebp]
cmp dl, 3
jne 0x4a5a53
cmp dword [ebp + 0x18], 1
jne 0x4a5a53
mov dword [esp + 0x90], eax
mov eax, 1
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x90]
movzx ecx, byte [esp + 0x20]
test cl, cl
je 0x4a59e6
mov ecx, 1
test cl, cl
je 0x4a55de
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x110]
jmp 0x4a550b
cmp esi, edi
jne 0x4a5602
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x78]
mov edi, esi
mov edi, ebp
mov ebp, ebx
mov ebx, edx
mov edx, edi
mov edi, esi
jmp 0x4a550b
mov dword [esp + 0xec], ebx
lea ecx, [edi + 1]
cmp esi, ecx
jne 0x4a5707
mov ecx, dword [esp + 0x38]
cmp edi, ecx
jae 0x4a614b
mov edx, dword [esp + 0x7c]
lea ebp, [edx + 1]
mov ecx, dword [eax + edi*4]
mov edi, ebx
mov ebx, dword [esp + 0x78]
cmp ebp, ebx
ja 0x4a56a3
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], ebx
mov esi, dword [esp + 0xe8]
lea ebx, [esi + edx*4]
mov dword [esp + 0xf4], ebx
mov ebx, dword [0x5c2560]
test ebx, ebx
jne 0x4a568b
mov dword [esi + edx*4], ecx
mov ecx, dword [esp + 0x7c]
mov ebx, edi
mov edx, esi
mov esi, dword [esp + 0x58]
mov ebx, ecx
mov ecx, ebp
mov ebp, ebx
mov ebx, edi
jmp 0x4a55f1
mov edx, edi
mov edi, dword [esp + 0xf4]
mov ebx, eax
mov eax, ecx
call fcn.0044a9c0
mov eax, ebx
mov edi, edx
jmp 0x4a5672
mov dword [esp + 0xfc], ecx
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0xec]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x10c]
jmp 0x4a5650
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x38]
jmp 0x4a573e
lea edi, [edx + 1]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x58]
mov eax, ebx
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x58]
cmp edi, esi
jge 0x4a5794
cmp edi, edx
jae 0x4a6144
mov dword [esp + 0x74], edi
mov edx, dword [eax + edi*4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
cmp edi, edx
setne bl
mov byte [esp + 8], bl
call fcn.004a63c0
mov eax, dword [0x5c2560]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x10c]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x4a578b
mov dword [ebx + edx*4], ecx
jmp 0x4a5714
mov eax, ecx
call fcn.0044a9c0
jmp 0x4a5714
test esi, esi
jl 0x4a613d
mov edi, dword [esp + 0x4c]
cmp edi, esi
ja 0x4a613d
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
sub edx, edi
mov ebp, edx
neg edx
shl edi, 2
sar edx, 0x1f
and edx, edi
add edx, eax
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
sub esi, edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov byte [esp + 0x10], 0x13
call fcn.004a4930
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc4], eax
nop
mov ecx, dword [esp + 0x118]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x4a59c6
mov dword [esp + 0xd8], edi
mov edx, dword [0x5c2560]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x4a5996
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044aab1
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xcc], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jb 0x4a594c
mov esi, 2
mov edi, ebx
mov ebx, dword [0x5c2560]
test ebx, ebx
jne 0x4a5923
mov ebx, dword [esp + 0xe0]
mov dword [ebp], ebx
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4a5912
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x7c]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
ja 0x4a58cc
mov esi, dword [esp + 0x110]
mov dword [esp + 0x7c], ebp
mov edi, ebx
mov ebx, dword [0x5c2560]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x4a58bb
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x7c]
mov ebp, edi
mov edi, dword [esp + 0xec]
jmp 0x4a5676
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044a9c0
xor eax, eax
mov edi, edx
jmp 0x4a58a2
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00436de0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x7c]
jmp 0x4a588c
lea edi, [ecx + 4]
mov eax, ebp
call fcn.0044a9c0
xor eax, eax
jmp 0x4a5876
mov dword [esp + 0x74], edi
mov edi, ebp
mov eax, dword [esp + 0xe0]
call fcn.0044a9c0
lea ebx, [ebp + 4]
mov edi, ebx
mov eax, edx
call fcn.0044a9c0
xor eax, eax
mov edi, dword [esp + 0x74]
jmp 0x4a585f
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00436de0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xc4]
jmp 0x4a5842
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.0044a9c0
lea edx, [0x4e55e0]
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040e200
xor eax, eax
mov edx, dword [esp + 0xc4]
jmp 0x4a581d
lea eax, [0x4e55e0]
mov dword [esp], eax
call fcn.004098b0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xc4]
jmp 0x4a5824
cmp dl, 0x11
jne 0x4a5a4c
mov ecx, dword [ebp + 0x2c]
cmp dword [ebp + 0x28], ecx
jne 0x4a5a45
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
test edx, edx
jbe 0x4a6152
mov ecx, dword [ecx]
nop
movzx edx, byte [ecx]
cmp dl, 3
jne 0x4a5a1c
cmp dword [ecx + 0x18], 1
jne 0x4a5a1c
mov ecx, 1
jmp 0x4a55c6
cmp dl, 4
jne 0x4a5a2b
mov ecx, 1
jmp 0x4a55c6
cmp dl, 5
jne 0x4a5a3a
mov ecx, 1
jmp 0x4a55c6
cmp dl, 6
sete cl
jmp 0x4a55c6
xor ecx, ecx
jmp 0x4a55c6
xor ecx, ecx
jmp 0x4a55c6
cmp dl, 4
jne 0x4a5a74
mov dword [esp + 0x98], eax
mov eax, 1
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x98]
jmp 0x4a55b4
cmp dl, 5
jne 0x4a5a95
mov dword [esp + 0xa0], eax
mov eax, 1
mov byte [esp + 0x20], al
mov eax, dword [esp + 0xa0]
jmp 0x4a55b4
cmp dl, 6
sete al
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x10c]
jmp 0x4a55b4
mov dword [esp + 0xc0], ebx
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004ac8d0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x4c]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x10c]
jmp 0x4a557c
cmp bl, 0x12
jne 0x4a5b1d
mov ebx, dword [ebp + 4]
mov edx, dword [ebp + 8]
test edx, edx
jle 0x4a5b1d
mov edx, dword [ebx]
cmp byte [edx], 2
jne 0x4a5b12
mov edx, dword [esp + 0x78]
xor ebx, ebx
jmp 0x4a5559
mov ebx, edx
mov edx, dword [esp + 0x78]
jmp 0x4a5559
mov edx, dword [esp + 0x78]
mov ebx, ebp
jmp 0x4a5559
mov ebp, dword [esp + 0xe0]
xor ebx, ebx
jmp 0x4a55de
mov ecx, dword [esp + 0x7c]
mov eax, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x4a5b4f
inc ebp
mov edx, dword [esp + 0x7c]
mov edx, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x38], edi
mov dword [esp + 0x10c], ebx
cmp ebp, ecx
jg 0x4a5f81
mov dword [esp + 0x70], edx
jge 0x4a5b97
jae 0x4a6136
mov ecx, dword [eax + ebp*4]
nop
movzx edx, byte [ecx]
cmp dl, 3
jne 0x4a5f58
cmp dword [ecx + 0x18], 1
jne 0x4a5f58
mov ecx, 1
test cl, cl
je 0x4a5b97
mov ecx, dword [esp + 0x70]
jmp 0x4a5b44
mov dword [esp + 0x5c], ebp
cmp ebp, esi
jne 0x4a5c53
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x70]
jge 0x4a5c4d
jae 0x4a6113
lea esi, [edi + 1]
mov ecx, dword [eax + ebp*4]
cmp esi, edx
ja 0x4a5bfa
mov dword [esp + 0x3c], edx
mov ebp, dword [0x5c2560]
lea edx, [ebx + edi*4]
test ebp, ebp
jne 0x4a5beb
mov dword [ebx + edi*4], ecx
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x5c]
lea edx, [ebp + 1]
mov edi, esi
mov esi, edx
jmp 0x4a5b44
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0044a9c0
mov eax, ebp
jmp 0x4a5bd7
mov dword [esp + 0x6c], edi
mov dword [esp + 0xfc], ecx
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00436de0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x6c]
jmp 0x4a5bc3
mov ecx, edx
mov esi, edi
jmp 0x4a5bdb
lea ecx, [esi + 1]
cmp ebp, ecx
jne 0x4a5d0b
mov ecx, dword [esp + 0x7c]
cmp esi, ecx
jae 0x4a612f
lea edx, [edi + 1]
mov esi, dword [eax + esi*4]
mov ecx, dword [esp + 0x70]
cmp edx, ecx
ja 0x4a5cbc
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [0x5c2560]
lea edx, [ebx + edi*4]
test ecx, ecx
jne 0x4a5ca5
mov dword [ebx + edi*4], esi
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov edi, esi
jmp 0x4a5bad
mov edi, edx
mov ecx, eax
mov eax, esi
call fcn.0044a9c0
mov edx, dword [esp + 0x7c]
cmp ebp, edx
mov eax, ecx
mov ecx, edx
jmp 0x4a5c96
mov dword [esp + 0xfc], esi
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00436de0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x110]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x38]
jmp 0x4a5c78
mov dword [esp + 0x78], ecx
mov dword [esp + 0x40], esi
mov edx, dword [esp + 0x7c]
jmp 0x4a5d31
inc edx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x10c]
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
cmp ecx, ebp
jge 0x4a5d7e
cmp esi, edx
jae 0x4a6128
mov dword [esp + 0x74], esi
mov ebx, dword [eax + esi*4]
movzx esi, byte [ebx]
cmp ecx, edx
jae 0x4a6128
mov edx, dword [eax + ecx*4]
movzx ebp, byte [edx]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jae 0x4a5d63
mov edx, ecx
jmp 0x4a5d19
jne 0x4a5d7a
mov edx, dword [edx + 0x18]
cmp dword [ebx + 0x18], edx
setl dl
test dl, dl
jne 0x4a5d5f
mov edx, ecx
mov ecx, dword [esp + 0x74]
jmp 0x4a5d19
xor edx, edx
jmp 0x4a5d6e
mov ecx, dword [esp + 0x40]
cmp ecx, edx
jae 0x4a6121
mov ebx, dword [eax + ecx*4]
lea ebp, [eax + ecx*4]
cmp esi, edx
jae 0x4a6121
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xfc], ebx
mov ebp, dword [0x5c2560]
mov edx, dword [eax + esi*4]
lea ebx, [eax + esi*4]
test ebp, ebp
jne 0x4a5f2f
mov dword [eax + ecx*4], edx
mov edx, dword [esp + 0xfc]
mov dword [eax + esi*4], edx
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x78]
jmp 0x4a5df2
lea esi, [eax + 1]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov ebp, esi
cmp ebp, ebx
jge 0x4a5e5e
mov esi, dword [eax + ecx*4]
cmp ebp, edx
jae 0x4a611a
mov dword [esp + 0x48], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.004a80d0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + eax*4]
test byte [edx], al
nop
mov ebx, dword [0x5c2560]
mov ebp, dword [esp + 0x118]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x4a5e41
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x4a5dd5
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, esi
call fcn.0044a9c0
lea edi, [ebp + 0x10]
mov eax, edx
call fcn.0044a9c0
mov eax, ebx
jmp 0x4a5dd5
mov edx, dword [eax + ecx*4]
mov dword [esp], edx
call fcn.004a4760
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x110]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x70]
cmp ecx, ebp
ja 0x4a5edd
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x38], ecx
mov edi, ebx
mov ebx, dword [0x5c2560]
lea ecx, [esi + eax*4]
test ebx, ebx
jne 0x4a5ec2
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov eax, edi
mov ecx, edx
mov ebx, esi
mov edx, ebp
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
jmp 0x4a5c9e
mov eax, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044a9c0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov edi, ebx
jmp 0x4a5ead
mov dword [esp + 0xfc], edx
lea edx, [0x4e3ac0]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00436de0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x110]
jmp 0x4a5e8d
mov ebp, edi
mov edi, dword [esp + 0xf0]
mov esi, eax
mov eax, edx
call fcn.0044a9c0
mov edi, ebx
mov eax, dword [esp + 0xfc]
call fcn.0044a9c0
mov eax, esi
mov edi, ebp
jmp 0x4a5dc7
cmp dl, 4
jne 0x4a5f67
mov ecx, 1
jmp 0x4a5b8d
cmp dl, 5
jne 0x4a5f76
mov ecx, 1
jmp 0x4a5b8d
cmp dl, 6
sete cl
jmp 0x4a5b8d
mov eax, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x4a5f8d
mov ebx, ecx
mov ecx, esi
cmp ecx, edi
jge 0x4a60bf
mov dword [esp + 0x110], ebx
lea esi, [ecx + 1]
cmp esi, edi
jge 0x4a60b8
cmp ecx, edi
jae 0x4a610c
mov ebx, dword [eax + ecx*4]
cmp byte [ebx], 2
jne 0x4a60b1
cmp esi, edi
jae 0x4a610c
mov ebx, dword [eax + ecx*4 + 4]
cmp byte [ebx], 2
jne 0x4a5fd5
mov ecx, dword [esp + 0x110]
jmp 0x4a5f89
cmp ecx, edi
jae 0x4a6105
mov dword [esp + 0x68], esi
lea ebx, [ebp + 1]
mov ecx, dword [eax + ecx*4]
cmp ebx, edx
ja 0x4a604c
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x3c], edx
mov esi, dword [0x5c2560]
mov edx, dword [esp + 0xe8]
lea ebx, [edx + ebp*4]
test esi, esi
jne 0x4a6039
mov dword [edx + ebp*4], ecx
mov esi, dword [esp + 0x68]
mov ecx, edx
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x3c]
jmp 0x4a5f89
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, ecx
call fcn.0044a9c0
mov eax, esi
mov edi, ebp
jmp 0x4a6026
mov dword [esp + 0x64], ebp
mov dword [esp + 0xfc], ecx
lea eax, [0x4e3ac0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00436de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x10c]
jmp 0x4a6007
cmp ecx, edi
jmp 0x4a5fd7
cmp ecx, edi
jmp 0x4a5fd7
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], edx
add esp, 0x114
ret
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x130], eax
add esp, 0x114
ret
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.004254a0
ud2
call fcn.004253a0
ud2
call fcn.004253a0
ud2
call fcn.00449270
jmp fcn.004a4d00