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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x198]
cmp eax, dword [ecx + 8]
jbe 0x5abdcb
sub esp, 0x218
mov edx, dword [esp + 0x21c]
mov ecx, dword [edx + 0xe8]
mov ebx, dword [edx + 0xe4]
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x5abdc5
lea ecx, [ecx + ecx*8]
lea esi, [ebx + ecx*8 - 0x48]
lea edi, [esp + 0xd4]
call fcn.00463dbc
cmp dword [esp + 0xd4], 0xf
jne 0x5aac15
mov ebx, dword [edx + 0xe8]
mov ebp, dword [edx + 0xe4]
cmp ebx, 1
jle 0x5aac15
lea ecx, [ebx + ebx*8]
lea esi, [ebp + ecx*8 - 0x90]
lea edi, [esp + 0xd4]
call fcn.00463dbc
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xdc]
mov eax, ebx
mov ebx, dword [esp + 0xe0]
mov ecx, ebx
mov ebx, dword [edx + 0xfc]
test ebx, ebx
jge 0x5aac3a
xor ebx, ebx
mov esi, ebx
mov ebx, dword [edx + 0x68]
mov edi, ebp
mov ebp, dword [edx + 0x88]
mov edx, dword [edx + 0x8c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x224]
test edx, edx
jle 0x5aac9a
mov dword [esp + 0x88], ebx
mov dword [esp + 0x54], ebp
sub ebp, ebx
lea edx, [ebp + 1]
test ebx, ebx
jne 0x5aac7e
mov ebx, dword [esp + 0x68]
cmp ebx, 1
jle 0x5aac82
lea edx, [ebp + 2]
jmp 0x5aac82
mov ebx, dword [esp + 0x68]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x224]
jmp 0x5aacb1
mov dword [esp + 0xbc], eax
mov eax, 0xffffffff
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xbc]
cmp ebx, 1
setle bl
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x4c], eax
xor eax, eax
mov byte [esp + 0x22], al
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x88], eax
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x9c], edx
xor edx, edx
mov dword [esp + 0x44], edx
xor edx, edx
mov dword [esp + 0x3c], edx
xor edx, edx
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x9c]
jmp 0x5aad6d
inc ebp
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x22], bl
movzx ebx, byte [esp + 0x23]
mov dword [esp + 0x38], edi
mov esi, ecx
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x40], eax
mov ebp, edx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x4c]
cmp edx, 0x200
jge 0x5ab93e
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], esi
mov byte [esp + 0x23], bl
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x21c]
cmp dword [ebp + 0x64], ebx
jl 0x5aadaf
xor ebx, ebx
jmp 0x5aade0
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0059c5c0
movzx eax, byte [esp + 8]
xor eax, 1
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x21c]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x2c]
test bl, bl
jne 0x5ab90e
mov ebx, dword [ebp + 0x58]
mov dword [esp + 0x70], ebx
mov ebx, dword [ebp + 0x54]
mov ebp, dword [ebp + 0x60]
mov dword [esp + 0x7c], ebp
add ebp, edx
mov edx, dword [esp + 0x70]
cmp edx, ebp
jbe 0x5abdbc
mov dword [esp + 0xd0], ebx
mov edx, dword [esp + 0x68]
inc edx
movzx ebx, byte [ebx + ebp]
cmp bl, 0x20
je 0x5aae21
cmp bl, 9
jne 0x5aae4a
mov esi, dword [esp + 0x21c]
mov ebp, dword [esp + 0x4c]
movzx ebx, byte [esp + 0x22]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x54]
jmp 0x5aad40
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x21c]
mov edx, dword [edx + 0xe0]
test edx, edx
jle 0x5aae73
cmp bl, 0x5d
jne 0x5aae6b
mov edx, 1
jmp 0x5aae75
cmp bl, 0x7d
sete dl
jmp 0x5aae75
xor edx, edx
test dl, dl
je 0x5aae86
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
jmp 0x5ab07e
cmp bl, 0xd
jne 0x5aae92
test dl, dl
jmp 0x5aaffd
cmp bl, 0xa
jne 0x5aae9e
test dl, dl
jmp 0x5aaffd
mov byte [esp + 0x27], bl
mov byte [esp + 0x24], dl
cmp bl, 0xc2
jne 0x5aaeee
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x7c]
lea edx, [edx + ebx + 1]
mov ebx, dword [esp + 0x70]
cmp ebx, edx
jbe 0x5abdb3
mov edx, dword [esp + 0xd0]
lea edx, [edx + ebp + 1]
cmp byte [edx], 0x85
jne 0x5aaee4
movzx edx, byte [esp + 0x24]
test dl, dl
movzx ebx, byte [esp + 0x27]
jmp 0x5aaffd
movzx edx, byte [esp + 0x24]
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jne 0x5aaff3
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x7c]
lea edx, [ebx + edx + 1]
mov ebx, dword [esp + 0x70]
cmp ebx, edx
jbe 0x5abdaa
mov dword [esp + 0x60], ebp
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0xd0]
lea edx, [edx + ebp + 1]
movzx edx, byte [edx]
mov byte [esp + 0x26], dl
cmp dl, 0x80
jne 0x5aaf71
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
lea edx, [ebp + edx + 2]
cmp ebx, edx
jbe 0x5abda1
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0xd0]
lea edx, [ebp + edx + 2]
cmp byte [edx], 0xa8
jne 0x5aaf67
movzx edx, byte [esp + 0x24]
test dl, dl
movzx ebx, byte [esp + 0x27]
jmp 0x5aaffd
movzx edx, byte [esp + 0x27]
cmp dl, 0xe2
jmp 0x5aaf84
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
mov edx, ebp
mov ebp, dword [esp + 0xd0]
jne 0x5aafec
mov edx, dword [esp + 0x74]
cmp ebx, edx
jbe 0x5abd98
movzx edx, byte [esp + 0x26]
cmp dl, 0x80
jne 0x5aafe0
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
lea ebp, [ebp + edx + 2]
cmp ebx, ebp
jbe 0x5abd8f
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xd0]
lea ebx, [ebp + ebx + 2]
cmp byte [ebx], 0xa9
jne 0x5aafd4
movzx ebx, byte [esp + 0x24]
test bl, bl
mov edx, ebx
movzx ebx, byte [esp + 0x27]
jmp 0x5aaffd
movzx edx, byte [esp + 0x24]
movzx ebx, byte [esp + 0x27]
jmp 0x5aaff3
movzx edx, byte [esp + 0x24]
movzx ebx, byte [esp + 0x27]
jmp 0x5aaff3
mov ebx, edx
movzx edx, byte [esp + 0x24]
test bl, bl
jne 0x5ab4ed
test dl, dl
je 0x5ab009
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
jmp 0x5ab07e
movzx ebp, byte [esp + 0x22]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5ab036
mov eax, dword [esp + 0x40]
mov ecx, esi
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x21c]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
jmp 0x5ab37d
test dl, dl
je 0x5ab044
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
jmp 0x5ab07e
movzx edx, byte [esp + 0x23]
test dl, dl
je 0x5ab2c6
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
cmp edx, ebp
jne 0x5ab067
cmp dword [esp + 0xd4], 0x11
jne 0x5ab07e
mov ebp, dword [esp + 0x44]
lea edx, [ebp - 1]
cmp esi, edx
jle 0x5ab2ca
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x5ab2a8
mov ebp, dword [esp + 0x44]
lea ebx, [ebp - 1]
cmp esi, ebx
jle 0x5ab09f
mov eax, ebp
mov ecx, edx
mov ebx, dword [esp + 0x40]
jmp 0x5ab0ad
mov eax, ebp
mov ecx, edx
mov ebp, dword [esp + 0x30]
mov edx, edi
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x1c4]
xor eax, eax
call fcn.0046394b
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x1d8], ebp
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1dc], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1e0], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x1e4], ebx
mov ebp, dword [esp + 0x21c]
mov eax, ecx
mov ecx, dword [ebp + 0x84]
mov edi, edx
mov edx, dword [esp + 0x4c]
add ecx, edx
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x1ec], ecx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x1f0], ebx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x214], ecx
mov ecx, dword [ebp + 0xd0]
inc ecx
mov ebx, dword [ebp + 0xcc]
mov edx, dword [ebp + 0xd4]
cmp edx, ecx
jae 0x5ab1f2
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5fb4e0]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x21c]
mov dword [ebx + 0xd4], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x5ab1d7
mov dword [ebx + 0xcc], eax
jmp 0x5ab1e2
lea edi, [ebx + 0xcc]
call fcn.00463730
mov ebp, ebx
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x3c]
mov ebx, eax
mov eax, dword [esp + 0x40]
mov dword [ebp + 0xd0], ecx
imul ecx, ecx, 0x54
lea ecx, [ecx + ebx - 0x54]
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x5ab21d
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0x1c4]
call fcn.00463d9e
jmp 0x5ab24d
lea eax, [0x5fb4e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x1c4]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x21c]
mov ecx, ebx
mov ebx, dword [ebp + 0x84]
mov esi, ebp
mov ebp, dword [esp + 0x4c]
add ebx, ebp
xor edi, edi
xor edi, edi
mov dword [esp + 0x34], edi
xor edi, edi
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x30], edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x28], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], edi
mov dword [esp + 0x80], eax
xor edi, edi
mov eax, dword [esp + 0x94]
jmp 0x5ab37d
mov eax, dword [esp + 0x40]
mov ecx, esi
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x21c]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
jmp 0x5ab37d
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x5ab34c
test bl, bl
je 0x5ab33f
inc edx
mov ebx, dword [esp + 0x38]
cmp ebx, edx
jae 0x5ab331
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc4], eax
mov ebx, ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0xc4]
mov byte [edx + ebp - 1], 0xa
jmp 0x5ab357
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xc4]
jmp 0x5ab357
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xc4]
mov eax, dword [esp + 0x40]
mov ecx, esi
mov esi, dword [esp + 0x21c]
mov edi, ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0xc4], ebp
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x2c], ebx
mov edx, dword [esi + 0x58]
mov ebx, dword [esi + 0x54]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esi + 0x60]
mov dword [esp + 0x7c], ebx
add ebx, ebp
cmp edx, ebx
jbe 0x5abd86
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0xcc]
movzx edx, byte [ebx + edx]
cmp dl, 0xd
je 0x5ab4cd
cmp dl, 0xa
je 0x5ab4cd
mov byte [esp + 0x27], dl
cmp dl, 0xc2
jne 0x5ab3ff
mov edx, dword [esp + 0x7c]
lea edx, [edx + ebp + 1]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jbe 0x5abd7d
mov edx, dword [esp + 0xcc]
lea edx, [ebx + edx + 1]
cmp byte [edx], 0x85
jne 0x5ab3f6
mov ebp, dword [esp + 0x4c]
jmp 0x5ab4cd
movzx edx, byte [esp + 0x27]
mov ebp, dword [esp + 0x4c]
cmp dl, 0xe2
jne 0x5ab89e
mov edx, dword [esp + 0x7c]
lea edx, [edx + ebp + 1]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jbe 0x5abd74
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0xcc]
lea edx, [ebx + edx + 1]
movzx edx, byte [edx]
mov byte [esp + 0x25], dl
cmp dl, 0x80
jne 0x5ab473
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x7c]
lea edx, [ebx + edx + 2]
cmp ebp, edx
jbe 0x5abd6b
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x5c]
lea edx, [ebx + edx + 2]
cmp byte [edx], 0xa8
jne 0x5ab469
mov ebp, dword [esp + 0x4c]
jmp 0x5ab4cd
movzx edx, byte [esp + 0x27]
cmp dl, 0xe2
jmp 0x5ab47f
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
mov ebx, dword [esp + 0x5c]
jne 0x5ab898
mov edx, dword [esp + 0x74]
cmp ebp, edx
jbe 0x5abd62
movzx edx, byte [esp + 0x25]
cmp dl, 0x80
jne 0x5ab892
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x7c]
lea ebx, [ebx + edx + 2]
cmp ebp, ebx
jbe 0x5abd59
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x5c]
lea ebx, [ebp + ebx + 2]
cmp byte [ebx], 0xa9
jne 0x5ab8a0
mov ebp, edx
mov edx, dword [esp + 0x54]
inc edx
mov ebx, 1
xor ebx, ebx
mov byte [esp + 0x23], bl
xor ebx, ebx
mov dword [esp + 0x68], ebx
mov ebx, 1
jmp 0x5aad40
mov edx, dword [esp + 0x34]
test edx, edx
je 0x5ab75c
mov ebx, dword [esp + 0x68]
cmp ebx, esi
jge 0x5ab73b
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
je 0x5ab71c
mov esi, edi
lea edi, [esp + 0x170]
xor eax, eax
call fcn.0046394b
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x180], esi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x188], ecx
mov eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], ebx
mov esi, ecx
mov ecx, dword [esp + 0x21c]
mov edi, ebx
mov ebx, dword [ecx + 0x84]
mov ecx, dword [esp + 0x4c]
add ebx, ecx
mov dword [esp + 0x194], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebp
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1c0], edx
mov edx, dword [esp + 0x21c]
mov ebx, dword [edx + 0xd0]
inc ebx
mov ebp, dword [edx + 0xcc]
mov ecx, dword [edx + 0xd4]
cmp ecx, ebx
jae 0x5ab663
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5fb4e0]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x21c]
mov dword [ebx + 0xd4], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x5ab646
mov dword [ebx + 0xcc], eax
jmp 0x5ab651
lea edi, [ebx + 0xcc]
call fcn.00463730
mov edx, ebx
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x40]
mov dword [edx + 0xd0], ebx
imul ecx, ebx, 0x54
lea ecx, [ecx + ebp - 0x54]
mov ebx, dword [0x7c78f0]
test ebx, ebx
jne 0x5ab68e
mov ebx, edi
mov edi, ecx
mov ebp, esi
lea esi, [esp + 0x170]
call fcn.00463d9e
jmp 0x5ab6be
lea eax, [0x5fb4e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x170]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x21c]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
mov ecx, ebx
mov ebx, dword [edx + 0x84]
mov esi, ebp
mov ebp, dword [esp + 0x4c]
add ebx, ebp
mov edi, dword [esp + 0x78]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x28], edi
xor edi, edi
mov dword [esp + 0x38], edi
xor edi, edi
mov dword [esp + 0x34], edi
xor edi, edi
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0x8c]
jmp 0x5ab77b
mov eax, dword [esp + 0x40]
mov ecx, ebx
mov edx, dword [esp + 0x21c]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jmp 0x5ab77b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x21c]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jmp 0x5ab77b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x21c]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [edx + 0x58]
mov dword [esp + 0x7c], ebx
mov ebx, dword [edx + 0x54]
mov edx, dword [edx + 0x60]
add edx, ebp
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jbe 0x5abd50
add edx, ebx
cmp byte [edx], 0x23
jne 0x5ab8d1
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5ab7dd
mov ebx, dword [esp + 0x21c]
mov ebx, dword [ebx + 0x84]
mov ecx, ebx
mov ebx, dword [esp + 0x4c]
add ebx, ecx
mov ebp, dword [esp + 0xc4]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x54]
mov eax, ebx
mov ebx, dword [esp + 0x38]
jmp 0x5ab83d
inc edx
mov ebx, dword [esp + 0x38]
cmp ebx, edx
jb 0x5ab7ef
mov ebp, dword [esp + 0xc4]
jmp 0x5ab838
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov byte [edx + ebp - 1], 0xa
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x21c]
mov ecx, dword [eax + 0x84]
mov esi, dword [esp + 0x4c]
add ecx, esi
mov dword [esp + 0x48], ecx
jmp 0x5abb01
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0xfc]
test ebx, ebx
jge 0x5ab877
xor ebx, ebx
mov esi, eax
xor ebp, ebp
mov edi, dword [esp + 0x38]
mov ecx, ebx
mov eax, dword [esp + 0x40]
xor ebx, ebx
mov dword [esp + 0x68], ebx
xor ebx, ebx
jmp 0x5aad40
mov edx, dword [esp + 0x4c]
jmp 0x5ab8a0
mov edx, dword [esp + 0x4c]
jmp 0x5ab8a0
mov edx, ebp
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x88]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x34]
jmp 0x5ab971
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x21c]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x4c]
jmp 0x5ab971
mov eax, dword [esp + 0x40]
mov esi, ebp
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x40]
jmp 0x5ab971
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x21c]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x40]
test ecx, ecx
je 0x5abae3
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ecx
lea edi, [esp + 0x11c]
xor eax, eax
call fcn.0046394b
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], ebp
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x128], ecx
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x12c], ebp
mov eax, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], ebp
mov dword [esp + 0x13c], ebx
mov ecx, dword [esi + 0x84]
lea ecx, [ecx + edx - 1]
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x154], ecx
mov ecx, dword [esi + 0xd0]
inc ecx
mov edx, dword [esi + 0xcc]
mov ebx, dword [esi + 0xd4]
cmp ebx, ecx
jae 0x5abaa1
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5fb4e0]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x21c]
mov dword [ebx + 0xd4], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x5aba92
mov dword [ebx + 0xcc], eax
jmp 0x5aba9d
lea edi, [ebx + 0xcc]
call fcn.00463730
mov esi, ebx
mov edx, eax
mov dword [esi + 0xd0], ecx
imul eax, ecx, 0x54
lea edi, [eax + edx - 0x54]
mov eax, dword [0x7c78f0]
test eax, eax
jne 0x5abac6
lea esi, [esp + 0x11c]
call fcn.00463d9e
jmp 0x5abae3
lea eax, [0x5fb4e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x11c]
mov dword [esp + 8], eax
call fcn.00410860
mov byte [esp + 0x22c], 1
add esp, 0x218
ret
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edx
cmp dword [eax + 0x64], 1
jge 0x5abb51
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5abd0b
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x30]
mov esi, edx
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x60]
cmp ebp, edx
jae 0x5abd47
mov dword [esp + 0xc8], ebx
movzx ebx, byte [ebp + ebx]
cmp bl, 0xd
je 0x5abc5a
cmp bl, 0xa
je 0x5abc5a
mov byte [esp + 0x27], bl
cmp bl, 0xc2
jne 0x5abbaf
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x5abd3e
mov ebx, dword [esp + 0xc8]
lea ebx, [ebp + ebx + 1]
cmp byte [ebx], 0x85
je 0x5abc5a
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jne 0x5abc56
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x5abd35
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0xc8]
lea ebx, [ebp + ebx + 1]
movzx ebx, byte [ebx]
mov byte [esp + 0x25], bl
cmp bl, 0x80
jne 0x5abc03
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x5abd2c
mov ebx, dword [esp + 0xc8]
lea ebx, [ebp + ebx + 2]
cmp byte [ebx], 0xa8
je 0x5abc5a
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jmp 0x5abc17
mov dword [esp + 0x58], ebp
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
mov ebx, ebp
mov ebp, dword [esp + 0x58]
jne 0x5abc56
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jbe 0x5abd23
movzx ebx, byte [esp + 0x25]
cmp bl, 0x80
jne 0x5abc51
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x5abd1a
mov edx, dword [esp + 0xc8]
lea edx, [ebp + edx + 2]
cmp byte [edx], 0xa9
je 0x5abc5a
movzx ebx, byte [esp + 0x27]
jmp 0x5abc56
movzx ebx, byte [esp + 0x27]
test bl, bl
jne 0x5abca8
cmp dword [eax + 0x84], ecx
jge 0x5ab865
cmp dword [eax + 0x64], 2
jge 0x5abc8c
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5abcfc
mov eax, dword [esp + 0x21c]
mov dword [esp], eax
call fcn.0059f470
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0xc4]
jmp 0x5abaf2
cmp dword [eax + 0x84], ecx
jl 0x5abce0
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
call fcn.0059f650
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x5abaf2
mov dword [esp], eax
call fcn.0059f3b0
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0xc4]
jmp 0x5abaf2
mov byte [esp + 0x22c], 0
add esp, 0x218
ret
mov byte [esp + 0x22c], 0
add esp, 0x218
ret
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, edx
mov ecx, ebp
call fcn.004637b0
mov eax, ebx
mov ecx, ebp
call fcn.004637b0
mov eax, edx
mov ecx, ebp
call fcn.004637b0
mov eax, edx
mov ecx, ebp
call fcn.004637b0
mov eax, edx
mov ecx, ebp
call fcn.004637b0
mov eax, edx
mov ecx, ebp
call fcn.004637b0
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, ebx
call fcn.004637b0
mov eax, edx
mov ecx, ebx
call fcn.004637b0
mov eax, edx
mov ecx, ebx
call fcn.004637b0
mov eax, edx
mov ecx, ebx
call fcn.004637b0
mov eax, edx
mov ecx, ebx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
call fcn.004637b0
nop
call fcn.00462320
jmp fcn.005aab90