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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x5af8d5
sub esp, 0xe0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x74], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x70], ebx
mov dword [esp], eax
call fcn.005a55a0
mov eax, dword [esp + 0xe4]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x88], ecx
xor edx, edx
mov dword [esp + 0x80], edx
xor edx, edx
mov dword [esp + 0x7c], edx
xor edx, edx
mov dword [esp + 0x84], edx
xor ecx, ecx
xor edx, edx
jmp 0x5ad829
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov edi, ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xe4]
mov edx, esi
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x40], edi
cmp dword [eax + 0x64], 4
jge 0x5ad883
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.005a27b0
movzx eax, byte [esp + 8]
test al, al
je 0x5adf32
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
mov edx, dword [eax + 0x8c]
test edx, edx
jne 0x5ad992
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x5c]
mov esi, dword [eax + 0x60]
cmp edx, esi
jbe 0x5af8cb
mov dword [esp + 0x6c], ebp
movzx ebp, byte [ebx + esi]
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x5ad8f0
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5af8c2
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2d
jne 0x5ad8eb
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5af8b9
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2d
je 0x5ad933
movzx ebp, byte [esp + 0x27]
jmp 0x5ad8f0
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x5ad986
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5af8b0
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2e
jne 0x5ad978
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5af8a7
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2e
je 0x5ad933
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5ad992
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
lea eax, [esi + 3]
mov dword [esp + 0xc], eax
call fcn.005b5cc0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5addef
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
jmp 0x5ad992
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5ad992
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x60]
cmp edx, ebp
jbe 0x5af89e
movzx edx, byte [ebx + ebp]
test dl, dl
je 0x5ade90
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x3c]
jmp 0x5adf4e
xor eax, eax
jmp 0x5ada41
movzx edx, byte [esp + 0xec]
jmp 0x5ad9d5
movzx edx, byte [esp + 0xec]
cmp dword [edi + 0x64], 3
jge 0x5ad9ff
mov dword [esp], edi
mov dword [esp + 4], 3
call fcn.005a27b0
movzx eax, byte [esp + 8]
test al, al
je 0x5aecd5
mov edi, dword [esp + 0xe4]
mov dword [esp], edi
call fcn.005a55a0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005a5660
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov eax, 1
jmp 0x5ada41
xor eax, eax
jmp 0x5ada41
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
xor eax, eax
cmp dword [edi + 0x64], 1
jge 0x5ada7c
mov byte [esp + 0x22], al
mov dword [esp], edi
mov dword [esp + 4], 1
call fcn.005a27b0
movzx eax, byte [esp + 8]
test al, al
je 0x5aee9c
movzx eax, byte [esp + 0x22]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
test dl, dl
je 0x5ada9d
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5af23c
add ebx, ebp
cmp byte [ebx], 0x27
jne 0x5adab9
jmp 0x5aed99
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5af235
add ebx, ebp
cmp byte [ebx], 0x22
je 0x5aed99
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x7c]
jmp 0x5aeed5
test al, al
je 0x5add39
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5adc08
mov ebx, dword [esp + 0x88]
cmp byte [ebx], 0xa
jne 0x5adc0f
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5adb69
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x5adb10
mov eax, dword [esp + 0x84]
jmp 0x5adb5f
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov ebp, edi
mov edi, dword [esp + 0xe4]
mov esi, edx
mov edx, eax
mov eax, esi
mov byte [edx + eax - 1], 0x20
jmp 0x5add2a
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5adbba
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x84], edx
mov esi, edi
mov edx, dword [esp + 0x34]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x84]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00464180
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x84]
jmp 0x5add2a
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5adc67
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x88]
mov esi, edi
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebp
mov ecx, dword [esp + 0x84]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00464180
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x5adca4
mov ebp, dword [esp + 0x84]
jmp 0x5adce1
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebp, eax
mov ebx, esi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x84], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464180
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
xor esi, esi
xor esi, esi
mov dword [esp + 0x34], esi
xor esi, esi
jmp 0x5ad803
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x5add55
mov esi, dword [esp + 0x84]
jmp 0x5add92
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5f0f80]
mov dword [esp + 0x10], ecx
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov esi, edx
mov ebp, edi
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x84], esi
lea ecx, [esi + edx]
mov dword [esp], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00464180
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
jmp 0x5ad803
nop
mov ecx, dword [esp + 0xe4]
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1e
mov edx, dword [0x7e34c0]
test edx, edx
jne 0x5ade19
lea edx, [0x6272b0]
mov dword [ecx + 0x20], edx
jmp 0x5ade27
lea edi, [ecx + 0x20]
lea eax, [0x6272b0]
call fcn.00463860
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x23
mov edx, dword [0x7e34c0]
test edx, edx
jne 0x5ade58
lea eax, [0x629037]
mov dword [ecx + 4], eax
jmp 0x5ade66
lea edi, [ecx + 4]
lea eax, [0x629037]
call fcn.00463860
mov eax, dword [ecx + 0x88]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5adeb3
lea ecx, [0x6272b0]
mov dword [eax + 0x20], ecx
jmp 0x5adec5
lea edi, [eax + 0x20]
mov ecx, eax
lea eax, [0x6272b0]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1e
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5adef6
lea ecx, [0x626e96]
mov dword [eax + 4], ecx
jmp 0x5adf08
lea edi, [eax + 4]
mov ecx, eax
lea eax, [0x626e96]
call fcn.00463860
mov eax, ecx
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x8c]
mov ebx, dword [eax + 0x84]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov edi, edx
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x84], edx
mov ecx, dword [eax + 0x54]
mov ebp, dword [eax + 0x58]
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.005b5cc0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5ada30
movzx edx, byte [esp + 0xec]
test dl, dl
je 0x5ae097
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x54]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x5af899
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5ae075
mov edi, ebx
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x5af892
lea ebx, [ebp + eax + 1]
cmp byte [ebx], 0x27
je 0x5adfe0
test dl, dl
jmp 0x5ae079
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5adff6
mov ebx, dword [esp + 0x84]
jmp 0x5ae036
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov byte [eax + ebx - 1], 0x27
mov dword [esp], edi
call fcn.005a55a0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005a55a0
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
jmp 0x5aec7d
test dl, dl
mov edi, ebx
je 0x5ae09e
cmp ecx, eax
jbe 0x5af88d
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x5ad9bf
test dl, dl
je 0x5ae09e
jmp 0x5aec4e
mov edi, dword [esp + 0xe4]
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov eax, dword [edi + 0x60]
cmp ecx, eax
jbe 0x5af888
lea ebp, [eax + ebx]
cmp byte [ebp], 0x22
je 0x5ada2c
test dl, dl
jne 0x5aec4e
cmp ecx, eax
jbe 0x5af883
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5ae1d9
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5af87c
movzx esi, byte [eax + ebx + 1]
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5ad9d5
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5ad9d5
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5ae12c
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5af875
lea ebp, [eax + ebx + 2]
cmp byte [ebp], 0x85
je 0x5ad9d5
movzx ebp, byte [esp + 0x26]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5ae1d5
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5af86e
lea edx, [eax + ebx + 2]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x5ae176
mov byte [esp + 0x25], dl
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5af867
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa8
je 0x5ad9c3
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
movzx edx, byte [esp + 0x25]
jmp 0x5ae17b
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5ae1c4
cmp ecx, ebp
jbe 0x5af860
cmp dl, 0x80
jne 0x5ae1b3
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5af859
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa9
je 0x5ad9cd
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5ae1db
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5ae1db
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5ae1db
test dl, dl
jmp 0x5ae1db
test dl, dl
jne 0x5aec4e
cmp ecx, eax
jbe 0x5af854
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5aec4e
lea ebp, [eax + 1]
cmp ecx, ebp
jbe 0x5af84d
movzx ecx, byte [eax + ebx + 1]
cmp cl, 0x5c
ja 0x5ae73e
cmp cl, 0x30
ja 0x5ae3e8
cmp cl, 0x20
ja 0x5ae297
cmp cl, 9
je 0x5aeabe
cmp cl, 0x20
jne 0x5aecf3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae243
mov ebx, dword [esp + 0x84]
jmp 0x5ae28b
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x20
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x22
jne 0x5ae306
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae2b2
mov ebx, dword [esp + 0x84]
jmp 0x5ae2fa
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x22
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x27
jne 0x5ae375
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae321
mov ebx, dword [esp + 0x84]
jmp 0x5ae369
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x27
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x30
jne 0x5aecf3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae394
mov ebx, dword [esp + 0x84]
jmp 0x5ae3dc
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x4e
ja 0x5ae5ac
cmp cl, 0x4c
jne 0x5ae4f2
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae410
mov ebx, dword [esp + 0x84]
jmp 0x5ae458
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x5ae49f
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], pe_nt_image_headers32
inc eax
cmp ecx, eax
jae 0x5ae4e6
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa8
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x4e
jne 0x5aecf3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae511
mov ebx, dword [esp + 0x84]
jmp 0x5ae559
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x5ae5a0
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x85
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x50
jne 0x5ae6ad
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae5cb
mov ebx, dword [esp + 0x84]
jmp 0x5ae613
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x5ae65a
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], pe_nt_image_headers32
inc eax
cmp ecx, eax
jae 0x5ae6a1
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa9
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x55
jne 0x5ae6cb
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 8
jmp 0x5aebcf
cmp cl, 0x5c
jne 0x5aecf3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae6ea
mov ebx, dword [esp + 0x84]
jmp 0x5ae732
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x5c
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x66
ja 0x5ae9ce
cmp cl, 0x61
ja 0x5ae87d
cmp cl, 0x5f
jne 0x5ae80a
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae76f
mov ebx, dword [esp + 0x84]
jmp 0x5ae7b7
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x5ae7fe
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa0
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x61
jne 0x5aecf3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae829
mov ebx, dword [esp + 0x84]
jmp 0x5ae871
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 7
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x62
jne 0x5ae8ec
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae898
mov ebx, dword [esp + 0x84]
jmp 0x5ae8e0
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 8
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x65
jne 0x5ae95b
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae907
mov ebx, dword [esp + 0x84]
jmp 0x5ae94f
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x1b
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x66
jne 0x5aecf3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae97a
mov ebx, dword [esp + 0x84]
jmp 0x5ae9c2
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xc
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x74
ja 0x5aeb28
cmp cl, 0x6e
jne 0x5aea46
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae9f2
mov ebx, dword [esp + 0x84]
jmp 0x5aea3a
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x72
jne 0x5aeab5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5aea61
mov ebx, dword [esp + 0x84]
jmp 0x5aeaa9
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xd
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x74
jne 0x5aecf3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5aead4
mov ebx, dword [esp + 0x84]
jmp 0x5aeb1c
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 9
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x75
jne 0x5aeb46
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 4
jmp 0x5aebcf
cmp cl, 0x76
jne 0x5aebb2
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5aeb61
mov ebx, dword [esp + 0x84]
jmp 0x5aeba9
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xb
xor ebp, ebp
jmp 0x5aebcf
cmp cl, 0x78
jne 0x5aecf3
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], ebp
mov dword [esp], edi
call fcn.005a55a0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005a55a0
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x5aec3a
mov edx, dword [esp + 0xe4]
cmp dword [edx + 0x64], eax
jge 0x5aec31
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005a27b0
movzx eax, byte [esp + 8]
test al, al
je 0x5aece4
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
xor ecx, ecx
xor ebx, ebx
jmp 0x5af265
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x84]
jmp 0x5af252
mov dword [esp], edi
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.005a5840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe4]
cmp dword [ebx + 0x64], 2
jge 0x5adf41
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x90], eax
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005a27b0
movzx eax, byte [esp + 8]
test al, al
je 0x5af243
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xe4]
jmp 0x5adf41
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5aed16
lea ecx, [0x626a43]
mov dword [edi + 0x20], ecx
jmp 0x5aed2a
lea ecx, [edi + 0x20]
lea eax, [0x626a43]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x1e
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5aed5b
lea eax, [0x626eb4]
mov dword [edi + 4], eax
jmp 0x5aed6f
lea ecx, [edi + 4]
lea eax, [0x626eb4]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov edx, dword [edi + 0x84]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov dword [esp], edi
call fcn.005a55a0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x88]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 0x8c]
mov eax, dword [eax + 0x84]
lea edi, [esp + 0x98]
lea esi, [0x675940]
call fcn.00463eec
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc0], eax
mov edi, dword [esp + 0xe8]
test byte [edi], al
mov eax, dword [0x7e34c0]
test eax, eax
jne 0x5aee59
lea esi, [esp + 0x98]
call fcn.00463eec
movzx eax, byte [esp + 0xec]
test al, al
jmp 0x5aee80
lea eax, [0x60e1e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
call fcn.004108d0
movzx eax, byte [esp + 0xec]
test al, al
jne 0x5aee8d
mov eax, dword [esp + 0xe8]
mov byte [eax + 0x44], 8
mov byte [esp + 0xf0], 1
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
movzx edx, byte [esp + 0xec]
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xe4]
mov eax, ebx
mov ebx, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x38], ebx
mov edx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp edx, ebp
jbe 0x5af22c
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x7c], esi
movzx esi, byte [ebx + ebp]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x5af02d
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x5af024
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5af01b
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5af012
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5aef5b
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5af223
lea esi, [ebx + ebp + 1]
cmp byte [esi], 0x85
je 0x5aef4e
movzx esi, byte [esp + 0x27]
jmp 0x5aef5b
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5af02f
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5adace
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5af21a
mov dword [esp + 0x6c], esi
lea esi, [ebx + ebp + 1]
movzx esi, byte [esi]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5aefb3
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5af211
lea esi, [ebx + ebp + 2]
cmp byte [esi], 0xa8
je 0x5aefa9
movzx esi, byte [esp + 0x27]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jmp 0x5aefce
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5af02f
mov dword [esp + 0x8c], ebx
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
mov ebx, dword [esp + 0x8c]
movzx esi, byte [esp + 0x27]
jne 0x5adace
mov esi, dword [esp + 0x6c]
cmp edx, esi
jbe 0x5af208
movzx esi, byte [esp + 0x25]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5adace
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5af1ff
lea edx, [ebx + ebp + 2]
cmp byte [edx], 0xa9
jne 0x5adace
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5af02f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5af02f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5af02f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5af02f
mov edx, esi
mov byte [esp + 0x24], al
je 0x5af03a
cmp dl, 9
jne 0x5af0a7
test al, al
je 0x5af054
mov dword [esp], edi
call fcn.005a55a0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x7c]
jmp 0x5af07c
mov dword [esp], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.005a5840
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
mov edx, eax
movzx ebx, byte [esp + 0x24]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], esi
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x38]
jmp 0x5af170
cmp dword [edi + 0x64], 2
jge 0x5af0da
mov dword [esp], edi
mov dword [esp + 4], 2
call fcn.005a27b0
movzx eax, byte [esp + 8]
test al, al
je 0x5af1f0
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xe4]
test al, al
je 0x5af132
mov dword [esp], edi
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
call fcn.005a5aa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov esi, ebx
mov edi, ecx
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x44]
movzx ebx, byte [esp + 0x24]
mov eax, dword [esp + 0x88]
jmp 0x5af170
mov dword [esp], edi
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
call fcn.005a5aa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
xor edx, edx
mov ebx, 1
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xe4]
cmp dword [edx + 0x64], 1
jge 0x5aeeab
mov dword [esp + 0x68], ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], edi
mov byte [esp + 0x23], bl
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005a27b0
movzx eax, byte [esp + 8]
test al, al
je 0x5af1e1
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0xe4]
movzx ebx, byte [esp + 0x23]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
jmp 0x5aeeab
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov eax, esi
mov ecx, edx
call fcn.004638e0
mov eax, esi
mov ecx, edx
call fcn.004638e0
mov eax, esi
mov ecx, edx
call fcn.004638e0
mov eax, esi
mov ecx, edx
call fcn.004638e0
mov eax, esi
mov ecx, edx
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
mov eax, ebp
call fcn.004638e0
mov eax, ebp
call fcn.004638e0
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x5aec7d
inc ecx
shl ebx, 4
add ebx, edx
mov edx, edi
cmp ecx, eax
jge 0x5af376
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov edi, edx
mov edx, dword [edx + 0x60]
add edx, ecx
cmp ebp, edx
jbe 0x5af844
movzx edx, byte [edx + esi]
cmp dl, 0x30
jb 0x5af2d0
cmp dl, 0x39
jbe 0x5af2a4
cmp dl, 0x41
jb 0x5af2d0
cmp dl, 0x46
jbe 0x5af2a4
cmp dl, 0x61
jb 0x5af2d0
cmp dl, 0x66
ja 0x5af2d0
lea ebp, [edx - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5af2b6
movzx edx, dl
add edx, 0xffffffc9
jmp 0x5af25d
lea ebp, [edx - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5af2c8
movzx ebp, dl
lea edx, [ebp - 0x57]
jmp 0x5af25d
movzx ebp, dl
lea edx, [ebp - 0x30]
jmp 0x5af25d
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5af2f3
lea ecx, [0x626a43]
mov dword [edi + 0x20], ecx
jmp 0x5af307
lea ecx, [edi + 0x20]
lea eax, [0x626a43]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x27
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5af338
lea eax, [0x62a7fc]
mov dword [edi + 4], eax
jmp 0x5af34c
lea ecx, [edi + 4]
lea eax, [0x62a7fc]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov edx, dword [edi + 0x84]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
lea ecx, [ebx - 0xd800]
cmp ecx, 0x7ff
jbe 0x5af770
cmp ebx, 0x10ffff
jg 0x5af770
mov dword [esp + 0x30], ebx
cmp ebx, 0x7f
jg 0x5af404
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af3b3
mov esi, dword [esp + 0x84]
jmp 0x5af3fb
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov esi, ebx
mov ebp, eax
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov byte [ecx + esi - 1], bl
jmp 0x5af75a
cmp ebx, 0x7ff
jg 0x5af4d1
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af426
mov esi, dword [esp + 0x84]
jmp 0x5af46e
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov ebp, eax
mov esi, ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 6
add ebx, 0xc0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5af4bf
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebx, [edi + 0x80]
mov byte [ecx + esi - 1], bl
jmp 0x5af75a
cmp ebx, 0xffff
jg 0x5af5f4
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af4f3
mov esi, dword [esp + 0x84]
jmp 0x5af53b
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov ebp, eax
mov esi, ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 0xc
add ebx, 0xe0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5af58c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
mov ebx, edi
sar edi, 6
and edi, 0x3f
add edi, 0x80
xchg edi, eax
mov byte [ecx + esi - 1], al
xchg edi, eax
inc ecx
cmp ebp, ecx
jae 0x5af5e2
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x30]
and ebx, 0x3f
add ebx, 0x80
mov byte [ecx + esi - 1], bl
jmp 0x5af75a
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af60a
mov esi, dword [esp + 0x84]
jmp 0x5af652
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov ebp, eax
mov esi, ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 0x12
add ebx, 0xf0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5af6a3
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
mov ebx, edi
sar edi, 0xc
and edi, 0x3f
add edi, 0x80
xchg edi, eax
mov byte [ecx + esi - 1], al
xchg edi, eax
inc ecx
cmp ebp, ecx
jae 0x5af6f9
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 6
and ebx, 0x3f
add ebx, 0x80
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5af74d
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebx, [edi + 0x80]
mov byte [ecx + esi - 1], bl
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x84], esi
xor ebx, ebx
jmp 0x5af837
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5af793
lea ecx, [0x626a43]
mov dword [edx + 0x20], ecx
jmp 0x5af7a1
lea edi, [edx + 0x20]
lea eax, [0x626a43]
call fcn.00463860
mov ecx, dword [esp + 0x78]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 0x30], ecx
mov dword [edx + 8], 0x2b
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5af7d2
lea eax, [0x62b762]
mov dword [edx + 4], eax
jmp 0x5af7e0
lea edi, [edx + 4]
lea eax, [0x62b762]
call fcn.00463860
mov eax, dword [edx + 0x88]
mov ecx, dword [edx + 0x8c]
mov ebx, dword [edx + 0x84]
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov dword [esp + 0x4c], ebx
mov dword [esp], edx
call fcn.005a55a0
mov eax, dword [esp + 0x4c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x84]
cmp ebx, eax
jl 0x5af80a
mov eax, ebp
mov edx, esi
jmp 0x5af252
mov eax, edx
mov ecx, ebp
call fcn.004638e0
mov eax, ebp
call fcn.004638e0
call fcn.004638e0
mov eax, edx
call fcn.004638e0
mov eax, ebp
call fcn.004638e0
mov eax, edx
call fcn.004638e0
mov eax, ebp
call fcn.004638e0
mov eax, ebp
call fcn.004638e0
mov eax, esi
call fcn.004638e0
call fcn.004638e0
call fcn.004638e0
call fcn.004638e0
mov eax, ebx
call fcn.004638e0
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
mov eax, esi
mov ecx, edx
call fcn.004638e0
nop
call fcn.00462450
jmp fcn.005ad770