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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x5b2b50
sub esp, 0xf4
mov ecx, dword [esp + 0x100]
cmp ecx, 2
jl 0x5b2a9a
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0xfc]
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 + 0xf0], edx
mov edx, dword [esp + 0x104]
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov ebx, ebp
mov eax, edx
jmp 0x5b181b
lea ecx, [esi + 1]
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
movzx edx, word [esp + 0x22]
mov ebx, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
movzx ecx, word [esp + 0x24]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
cmp esi, edx
jge 0x5b17be
cmp esi, ebp
jge 0x5b17be
cmp esi, edx
jae 0x5b2b42
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx + esi*4]
cmp esi, ebp
jae 0x5b2b42
mov ebx, dword [ebx + esi*4]
cmp ecx, ebx
je 0x5b1768
test esi, esi
jle 0x5b18ab
mov ecx, dword [esp + 0x30]
cmp esi, ecx
ja 0x5b2b3b
movzx edx, word [esp + 0x24]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
inc eax
mov word [esp + 0x24], dx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0xf0], ebx
mov edx, ebp
mov ebx, dword [esp + 0xec]
mov ecx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
mov esi, eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xec], ebx
cmp esi, ecx
jg 0x5b1eda
mov dword [esp + 0x5c], esi
jge 0x5b1ec9
jae 0x5b2b49
mov ebx, dword [ebp + esi*4]
movzx edx, byte [ebx]
cmp dl, 0x12
jne 0x5b1ec2
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jle 0x5b1ec2
mov edx, dword [edx]
movzx ebx, byte [edx]
cmp bl, 3
je 0x5b1ea2
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 + 0xe8], ebx
movzx ecx, word [esp + 0x24]
cmp dx, cx
jne 0x5b1e99
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x98]
jmp 0x5b178d
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe8]
movzx esi, word [esp + 0x22]
mov edx, dword [esp + 0x5c]
cmp edx, edi
jne 0x5b18e2
mov edi, dword [esp + 0xec]
mov edx, esi
mov esi, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x5c]
jmp 0x5b17e2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xe4], ebx
mov word [esp + 0x26], si
lea ecx, [edi + 1]
cmp edx, ecx
jne 0x5b1a12
mov ecx, dword [esp + 0x100]
cmp edi, ecx
jae 0x5b2b34
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0xfc]
mov ebx, dword [ebx + edi*4]
mov edi, ebp
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
jg 0x5b19b0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x38], edx
mov esi, dword [esp + 0xc8]
lea edx, [esi + ecx*4]
mov dword [esp + 0xe0], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5b1998
mov dword [esi + ecx*4], ebx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xe4]
mov edi, esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
movzx esi, word [esp + 0x26]
jmp 0x5b18ca
mov ecx, edi
mov edi, dword [esp + 0xe0]
mov edx, eax
mov eax, ebx
call fcn.0044b4d0
mov eax, edx
mov edi, ecx
jmp 0x5b196d
mov dword [esp + 0xdc], ebx
lea eax, [0x660720]
mov dword [esp], eax
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00437ce0
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 + 0xdc]
movzx esi, word [esp + 0x26]
mov edi, dword [esp + 0x50]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x104]
jmp 0x5b194b
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0xf8]
mov ebx, dword [ecx + 0x10]
lea ebp, [ecx + 0x10]
mov dword [esp + 0xd8], ebp
test ebx, ebx
je 0x5b1e6e
mov esi, dword [0x881b80]
mov edx, dword [ebx + 0x10]
test esi, esi
jne 0x5b1e2c
mov dword [ecx + 0x10], edx
mov edx, edi
mov edi, ebx
mov esi, eax
xor eax, eax
call fcn.0044b5c1
mov dword [esp + 0xc4], 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 0x5b1de5
cmp ebp, edi
ja 0x5b2b2d
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x7c], edi
mov dword [esp], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0044bcd0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5b1dcd
mov edx, dword [esp + 0xe8]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x48]
jmp 0x5b1b25
lea edi, [edx + 1]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x100]
mov ebp, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc4]
mov edx, ebx
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x5c]
cmp edi, esi
jge 0x5b1b75
cmp edi, ebp
jae 0x5b2b26
mov dword [esp + 0x7c], edi
mov ecx, dword [edx + edi*4]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.005b2b60
mov eax, dword [0x881b80]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xfc]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x5b1b69
mov dword [ebx + edx*4], ecx
jmp 0x5b1af1
mov eax, ecx
call fcn.0044b4d0
jmp 0x5b1af1
mov eax, dword [esp + 0x48]
cmp eax, esi
ja 0x5b2b1f
mov edi, dword [esp + 0x104]
cmp esi, edi
ja 0x5b2b1f
mov dword [esp], ebx
sub edi, eax
mov dword [esp + 0x7c], edi
mov ebp, eax
shl eax, 2
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
lea eax, [edx + edi]
mov dword [esp + 4], eax
sub esi, ebp
mov dword [esp + 8], esi
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0xc], ebp
mov byte [esp + 0x10], 0x13
call fcn.005b1310
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x5b1dad
mov dword [esp + 0xac], edi
mov edx, dword [0x881b80]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x5b1d7b
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044b5c1
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xbc], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 0xc]
cmp ebp, 2
jl 0x5b1d31
mov esi, 2
mov edi, ebp
mov ebp, dword [0x881b80]
test ebp, ebp
jne 0x5b1d08
mov ebp, dword [esp + 0xc4]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x881b80]
test edx, edx
jne 0x5b1cf7
mov dword [ecx + 4], ebx
mov edx, dword [esp + 0x38]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jg 0x5b1cb4
mov esi, dword [esp + 0xec]
mov dword [esp + 0x3c], ebp
mov edi, ebx
mov ebx, dword [0x881b80]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x5b1ca3
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x104]
mov ecx, edi
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
jmp 0x5b1971
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044b4d0
xor eax, eax
mov edi, edx
jmp 0x5b1c8d
lea eax, [0x660720]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437ce0
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 + 0xbc]
mov edx, dword [esp + 0x38]
jmp 0x5b1c77
lea edi, [ecx + 4]
mov eax, ebx
call fcn.0044b4d0
xor eax, eax
jmp 0x5b1c61
mov dword [esp + 0x7c], edi
mov edi, ebx
mov eax, dword [esp + 0xc4]
call fcn.0044b4d0
lea ebp, [ebx + 4]
mov edi, ebp
mov eax, edx
call fcn.0044b4d0
xor eax, eax
mov edi, dword [esp + 0x7c]
jmp 0x5b1c4a
lea eax, [0x660720]
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.00437ce0
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 + 0xbc]
mov edx, dword [esp + 0xa4]
jmp 0x5b1c2e
mov eax, edi
mov edi, dword [esp + 0xd8]
mov ecx, eax
mov eax, ebx
call fcn.0044b4d0
lea edx, [0x666680]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040f150
xor eax, eax
mov edx, dword [esp + 0xa4]
jmp 0x5b1c09
lea eax, [0x666680]
mov dword [esp], eax
call fcn.00409aa0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa4]
jmp 0x5b1c10
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0xe8]
call fcn.0044b4d0
mov eax, edx
jmp 0x5b1ad2
lea eax, [0x634a40]
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.00437ce0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x104]
jmp 0x5b1a78
mov dword [esp + 0xb0], ebx
mov edi, ebp
mov eax, edx
call fcn.0044b4d0
lea ecx, [0x666680]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0040f150
xor eax, eax
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x104]
jmp 0x5b1a53
lea eax, [0x666680]
mov dword [esp], eax
call fcn.00409aa0
mov ebx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x104]
jmp 0x5b1a53
mov edx, dword [esp + 0x2c]
jmp 0x5b18ab
mov ebp, dword [edx + 0x18]
mov ebx, 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 + 0x104]
jmp 0x5b1878
mov edx, ebx
jmp 0x5b185e
mov edx, dword [esp + 0x2c]
xor ecx, ecx
xor ebp, ebp
xor ebx, ebx
xor esi, esi
jmp 0x5b18bb
mov ecx, dword [esp + 0x38]
mov eax, edx
mov ebp, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0xc0], eax
xor edx, edx
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x3c]
mov edx, eax
jmp 0x5b1f1b
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov ebx, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xf0], ebx
cmp esi, ecx
jg 0x5b24f4
mov dword [esp + 0x60], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x44], edi
jge 0x5b24e6
jae 0x5b2b18
mov ebx, dword [ebp + esi*4]
movzx edx, byte [ebx]
cmp dl, 2
jne 0x5b24a5
xor edx, edx
mov ebx, dword [esp + 0xc0]
test ebx, ebx
jne 0x5b2373
cmp esi, edi
jne 0x5b1f86
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0xf0]
jmp 0x5b1efd
mov dword [esp + 0xcc], edx
lea ebx, [edi + 1]
cmp esi, ebx
jne 0x5b2091
cmp edi, ecx
jae 0x5b2b0a
mov ebx, dword [esp + 0x7c]
lea ecx, [ebx + 1]
mov ebp, dword [ebp + edi*4]
mov edi, edx
mov edx, dword [esp + 0x78]
cmp ecx, edx
jg 0x5b2032
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], ecx
mov esi, dword [esp + 0xc8]
lea ecx, [esi + ebx*4]
mov dword [esp + 0xd4], ecx
mov ecx, dword [0x881b80]
test ecx, ecx
jne 0x5b201a
mov dword [esi + ebx*4], ebp
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xec]
mov ebx, ecx
mov edi, esi
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xcc]
mov esi, dword [esp + 0x60]
jmp 0x5b1efd
mov ecx, edi
mov edi, dword [esp + 0xd4]
mov ebx, eax
mov eax, ebp
call fcn.0044b4d0
mov eax, ebx
mov edi, ecx
jmp 0x5b1ff3
mov dword [esp + 0xdc], ebp
lea eax, [0x660720]
mov dword [esp], eax
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00437ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0xcc]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
jmp 0x5b1fd1
mov ebx, dword [esp + 0xf8]
jmp 0x5b20cf
lea edi, [edx + 1]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov ecx, edx
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x60]
cmp edi, esi
jge 0x5b212c
cmp edi, ecx
jae 0x5b2b03
mov dword [esp + 0x74], edi
mov eax, dword [ebp + edi*4]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [esp + 0x44]
cmp edi, eax
setne cl
mov byte [esp + 8], cl
call fcn.005b2d70
mov eax, dword [0x881b80]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xec]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x5b2120
mov dword [ebx + edx*4], ecx
jmp 0x5b209a
mov eax, ecx
call fcn.0044b4d0
jmp 0x5b209a
mov edi, dword [esp + 0x44]
cmp edi, esi
ja 0x5b2afc
cmp esi, eax
ja 0x5b2afc
mov dword [esp], ebx
sub eax, edi
mov edx, eax
neg eax
shl edi, 2
sar eax, 0x1f
and eax, edi
add eax, ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
sub esi, eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call fcn.005b1310
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x5b2353
mov dword [esp + 0xb4], edi
mov edx, dword [0x881b80]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x5b2323
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044b5c1
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jl 0x5b22d9
mov esi, 2
mov edi, ebx
mov ebx, dword [0x881b80]
test ebx, ebx
jne 0x5b22b0
mov ebx, dword [esp + 0xc0]
mov dword [ebp], ebx
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x881b80]
test edx, edx
jne 0x5b229f
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x7c]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
jg 0x5b225c
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x7c], ebp
mov edi, ebx
mov ebx, dword [0x881b80]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x5b224b
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x7c]
mov ecx, edi
mov edi, dword [esp + 0xcc]
jmp 0x5b1ff7
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044b4d0
xor eax, eax
mov edi, edx
jmp 0x5b2235
lea eax, [0x660720]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437ce0
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 + 0xb8]
mov edx, dword [esp + 0x7c]
jmp 0x5b221f
lea edi, [ecx + 4]
mov eax, ebp
call fcn.0044b4d0
xor eax, eax
jmp 0x5b2209
mov dword [esp + 0x74], edi
mov edi, ebp
mov eax, dword [esp + 0xc0]
call fcn.0044b4d0
lea ebx, [ebp + 4]
mov edi, ebx
mov eax, edx
call fcn.0044b4d0
xor eax, eax
mov edi, dword [esp + 0x74]
jmp 0x5b21f2
lea eax, [0x660720]
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.00437ce0
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 + 0xb8]
mov edx, dword [esp + 0xa8]
jmp 0x5b21d5
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.0044b4d0
lea edx, [0x666680]
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040f150
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x5b21b0
lea eax, [0x666680]
mov dword [esp], eax
call fcn.00409aa0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x5b21b7
mov dword [esp + 0xa0], edx
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.005b90e0
movzx eax, byte [esp + 8]
test al, al
je 0x5b249c
mov ecx, dword [esp + 0xc0]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x5b2473
mov ebx, dword [ecx + 0x18]
cmp ebx, 1
jne 0x5b2473
mov eax, 1
test al, al
je 0x5b23f1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0xc0]
mov edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
jmp 0x5b1efd
cmp dl, 0x11
jne 0x5b2429
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
cmp edx, ebx
jne 0x5b2429
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
test edx, edx
jbe 0x5b2b11
mov edx, dword [ebx]
movzx ebx, byte [edx]
cmp bl, 3
jne 0x5b2453
mov edx, dword [edx + 0x18]
cmp edx, 1
jne 0x5b2453
mov eax, 1
test al, al
jne 0x5b23bb
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x44]
jmp 0x5b1f63
cmp bl, 4
jne 0x5b245f
mov eax, 1
jmp 0x5b2425
cmp bl, 5
jne 0x5b246b
mov eax, 1
jmp 0x5b2425
cmp bl, 6
sete al
jmp 0x5b2425
cmp dl, 4
jne 0x5b2482
mov eax, 1
jmp 0x5b23b7
cmp dl, 5
jne 0x5b2491
mov eax, 1
jmp 0x5b23b7
cmp dl, 6
sete al
jmp 0x5b23b7
mov ecx, dword [esp + 0xc0]
jmp 0x5b2429
cmp dl, 0x12
jne 0x5b24d8
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jle 0x5b24d8
mov edx, dword [edx]
movzx ebx, byte [edx]
cmp bl, 2
jne 0x5b24cc
mov ebp, dword [esp + 0xec]
xor edx, edx
jmp 0x5b1f54
mov ebp, dword [esp + 0xec]
jmp 0x5b1f54
mov ebp, dword [esp + 0xec]
mov edx, ebx
jmp 0x5b1f54
mov ebx, dword [esp + 0xc0]
xor edx, edx
jmp 0x5b1f63
mov ecx, dword [esp + 0x7c]
mov eax, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x5b250d
inc ebp
mov edx, dword [esp + 0x7c]
mov edx, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xec], ebx
mov dword [esp + 0x38], edi
cmp ebp, ecx
jg 0x5b293a
mov dword [esp + 0x70], edx
jge 0x5b2556
jae 0x5b2af5
mov ecx, dword [eax + ebp*4]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x5b2911
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
jne 0x5b2911
mov ecx, 1
test cl, cl
je 0x5b2556
mov ecx, dword [esp + 0x70]
jmp 0x5b2502
mov dword [esp + 0x58], ebp
cmp ebp, esi
jne 0x5b2612
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x70]
jge 0x5b260c
jae 0x5b2ad2
lea esi, [edi + 1]
mov ecx, dword [eax + ebp*4]
cmp esi, edx
jg 0x5b25b9
mov dword [esp + 0x3c], edx
mov ebp, dword [0x881b80]
lea edx, [ebx + edi*4]
test ebp, ebp
jne 0x5b25aa
mov dword [ebx + edi*4], ecx
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x58]
lea edx, [ebp + 1]
mov edi, esi
mov esi, edx
jmp 0x5b2502
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0044b4d0
mov eax, ebp
jmp 0x5b2596
mov dword [esp + 0x6c], edi
mov dword [esp + 0xdc], ecx
lea eax, [0x660720]
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.00437ce0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x6c]
jmp 0x5b2582
mov ecx, edx
mov esi, edi
jmp 0x5b259a
lea ecx, [esi + 1]
cmp ebp, ecx
jne 0x5b26cc
mov ecx, dword [esp + 0x7c]
cmp esi, ecx
jae 0x5b2aee
lea edx, [edi + 1]
mov esi, dword [eax + esi*4]
mov ecx, dword [esp + 0x70]
cmp edx, ecx
jg 0x5b267d
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [0x881b80]
lea edx, [ebx + edi*4]
test ecx, ecx
jne 0x5b2666
mov dword [ebx + edi*4], esi
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov edi, edx
mov edx, esi
jmp 0x5b256c
mov edi, edx
mov ecx, eax
mov eax, esi
call fcn.0044b4d0
mov edx, dword [esp + 0x7c]
cmp ebp, edx
mov eax, ecx
mov ecx, edx
jmp 0x5b2655
mov dword [esp + 0xdc], esi
lea eax, [0x660720]
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.00437ce0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0xf0]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x38]
jmp 0x5b2637
mov dword [esp + 0x78], ecx
mov dword [esp + 0x40], esi
mov edx, dword [esp + 0x7c]
jmp 0x5b26f2
inc edx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0xec]
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
cmp ecx, ebp
jge 0x5b2738
cmp esi, edx
jae 0x5b2ae7
mov ebx, dword [eax + esi*4]
movzx ebp, byte [ebx]
cmp ecx, edx
jae 0x5b2ae7
mov dword [esp + 0x74], esi
mov edx, dword [eax + ecx*4]
movzx esi, byte [edx]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
jae 0x5b2724
mov edx, ecx
jmp 0x5b26da
jne 0x5b2730
mov ebx, dword [ebx + 0x18]
mov edx, dword [edx + 0x18]
cmp ebx, edx
jl 0x5b2720
mov edx, ecx
mov ecx, dword [esp + 0x74]
jmp 0x5b26da
mov ecx, dword [esp + 0x40]
cmp ecx, edx
jae 0x5b2ae0
mov ebx, dword [eax + ecx*4]
lea ebp, [eax + ecx*4]
cmp esi, edx
jae 0x5b2ae0
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xdc], ebx
mov ebp, dword [0x881b80]
mov edx, dword [eax + esi*4]
lea ebx, [eax + esi*4]
test ebp, ebp
jne 0x5b28e8
mov dword [eax + ecx*4], edx
mov edx, dword [esp + 0xdc]
mov dword [eax + esi*4], edx
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x78]
jmp 0x5b27ac
lea esi, [eax + 1]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x58]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov ebp, esi
cmp ebp, ebx
jge 0x5b2817
mov esi, dword [eax + ecx*4]
cmp ebp, edx
jae 0x5b2ad9
mov dword [esp + 0x4c], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.005b4a10
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0x881b80]
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x5b27fa
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x5b278f
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, esi
call fcn.0044b4d0
lea edi, [ebp + 0x10]
mov eax, edx
call fcn.0044b4d0
mov eax, ebx
jmp 0x5b278f
mov edx, dword [eax + ecx*4]
mov dword [esp], edx
call fcn.005b1120
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0xf0]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x70]
cmp ecx, ebp
jg 0x5b2896
mov esi, dword [esp + 0xec]
mov dword [esp + 0x38], ecx
mov edi, ebx
mov ebx, dword [0x881b80]
lea ecx, [esi + eax*4]
test ebx, ebx
jne 0x5b287b
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov eax, edi
mov ecx, edx
mov ebx, esi
mov edx, dword [esp + 0x38]
mov esi, ebp
mov ebp, dword [esp + 0x58]
jmp 0x5b265d
mov eax, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044b4d0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov edi, ebx
jmp 0x5b2866
mov dword [esp + 0xdc], edx
lea edx, [0x660720]
mov dword [esp], edx
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00437ce0
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 + 0xdc]
mov ebx, dword [esp + 0xf0]
jmp 0x5b2846
mov ebp, edi
mov edi, dword [esp + 0xd0]
mov esi, eax
mov eax, edx
call fcn.0044b4d0
mov edi, ebx
mov eax, dword [esp + 0xdc]
call fcn.0044b4d0
mov eax, esi
mov edi, ebp
jmp 0x5b2781
cmp dl, 4
jne 0x5b2920
mov ecx, 1
jmp 0x5b254c
cmp dl, 5
jne 0x5b292f
mov ecx, 1
jmp 0x5b254c
cmp dl, 6
sete cl
jmp 0x5b254c
mov eax, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x5b2946
mov ebx, ecx
mov ecx, esi
cmp ecx, edi
jge 0x5b2a7e
mov dword [esp + 0xf0], ebx
lea esi, [ecx + 1]
cmp esi, edi
jge 0x5b2a77
cmp ecx, edi
jae 0x5b2acb
mov ebx, dword [eax + ecx*4]
movzx ebx, byte [ebx]
cmp bl, 2
jne 0x5b2a70
cmp esi, edi
jae 0x5b2acb
mov ebx, dword [eax + ecx*4 + 4]
movzx ebx, byte [ebx]
cmp bl, 2
jne 0x5b2994
mov ecx, dword [esp + 0xf0]
jmp 0x5b2942
cmp ecx, edi
jae 0x5b2ac4
mov dword [esp + 0x68], esi
lea ebx, [ebp + 1]
mov ecx, dword [eax + ecx*4]
cmp ebx, edx
jg 0x5b2a0b
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x3c], edx
mov esi, dword [0x881b80]
mov edx, dword [esp + 0xc8]
lea ebx, [edx + ebp*4]
test esi, esi
jne 0x5b29f8
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 0x5b2942
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, ecx
call fcn.0044b4d0
mov eax, esi
mov edi, ebp
jmp 0x5b29e5
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x64], ebp
lea eax, [0x660720]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00437ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xec]
jmp 0x5b29c6
cmp ecx, edi
jmp 0x5b2996
cmp ecx, edi
jmp 0x5b2996
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], edx
add esp, 0xf4
ret
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x110], eax
add esp, 0xf4
ret
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.00449d70
jmp fcn.005b16f0