Function at 0x5ad450
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 0x5af5b5
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.005a5280
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 0x5ad509
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 0x5ad563
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5adc12
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 0x5ad672
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x5c]
mov esi, dword [eax + 0x60]
cmp edx, esi
jbe 0x5af5ab
mov dword [esp + 0x6c], ebp
movzx ebp, byte [ebx + esi]
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x5ad5d0
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5af5a2
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2d
jne 0x5ad5cb
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5af599
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2d
je 0x5ad613
movzx ebp, byte [esp + 0x27]
jmp 0x5ad5d0
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x5ad666
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5af590
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2e
jne 0x5ad658
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5af587
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2e
je 0x5ad613
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5ad672
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.005b59a0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5adacf
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 0x5ad672
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5ad672
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 0x5af57e
movzx edx, byte [ebx + ebp]
test dl, dl
je 0x5adb70
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x3c]
jmp 0x5adc2e
xor eax, eax
jmp 0x5ad721
movzx edx, byte [esp + 0xec]
jmp 0x5ad6b5
movzx edx, byte [esp + 0xec]
cmp dword [edi + 0x64], 3
jge 0x5ad6df
mov dword [esp], edi
mov dword [esp + 4], 3
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5ae9b5
mov edi, dword [esp + 0xe4]
mov dword [esp], edi
call fcn.005a5280
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005a5340
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov eax, 1
jmp 0x5ad721
xor eax, eax
jmp 0x5ad721
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
xor eax, eax
cmp dword [edi + 0x64], 1
jge 0x5ad75c
mov byte [esp + 0x22], al
mov dword [esp], edi
mov dword [esp + 4], 1
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5aeb7c
movzx eax, byte [esp + 0x22]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
test dl, dl
je 0x5ad77d
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5aef1c
add ebx, ebp
cmp byte [ebx], 0x27
jne 0x5ad799
jmp 0x5aea79
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5aef15
add ebx, ebp
cmp byte [ebx], 0x22
je 0x5aea79
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x7c]
jmp 0x5aebb5
test al, al
je 0x5ada19
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5ad8e8
mov ebx, dword [esp + 0x88]
cmp byte [ebx], 0xa
jne 0x5ad8ef
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5ad849
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x5ad7f0
mov eax, dword [esp + 0x84]
jmp 0x5ad83f
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, [0x5f0f40]
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 0x5ada0a
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5ad89a
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, [0x5f0f40]
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 0x5ada0a
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5ad947
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, [0x5f0f40]
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 0x5ad984
mov ebp, dword [esp + 0x84]
jmp 0x5ad9c1
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, [0x5f0f40]
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 0x5ad4e3
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x5ada35
mov esi, dword [esp + 0x84]
jmp 0x5ada72
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, [0x5f0f40]
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 0x5ad4e3
nop
mov ecx, dword [esp + 0xe4]
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1e
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5adaf9
lea edx, [0x627218]
mov dword [ecx + 0x20], edx
jmp 0x5adb07
lea edi, [ecx + 0x20]
lea eax, [0x627218]
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 [0x7e2780]
test edx, edx
jne 0x5adb38
lea eax, [0x628f5f]
mov dword [ecx + 4], eax
jmp 0x5adb46
lea edi, [ecx + 4]
lea eax, [0x628f5f]
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 [0x7e2780]
test ecx, ecx
jne 0x5adb93
lea ecx, [0x627218]
mov dword [eax + 0x20], ecx
jmp 0x5adba5
lea edi, [eax + 0x20]
mov ecx, eax
lea eax, [0x627218]
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 [0x7e2780]
test ecx, ecx
jne 0x5adbd6
lea ecx, [0x626dfe]
mov dword [eax + 4], ecx
jmp 0x5adbe8
lea edi, [eax + 4]
mov ecx, eax
lea eax, [0x626dfe]
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.005b59a0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5ad710
movzx edx, byte [esp + 0xec]
test dl, dl
je 0x5add77
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x54]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x5af579
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5add55
mov edi, ebx
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x5af572
lea ebx, [ebp + eax + 1]
cmp byte [ebx], 0x27
je 0x5adcc0
test dl, dl
jmp 0x5add59
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5adcd6
mov ebx, dword [esp + 0x84]
jmp 0x5add16
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, [0x5f0f40]
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.005a5280
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005a5280
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
jmp 0x5ae95d
test dl, dl
mov edi, ebx
je 0x5add7e
cmp ecx, eax
jbe 0x5af56d
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x5ad69f
test dl, dl
je 0x5add7e
jmp 0x5ae92e
mov edi, dword [esp + 0xe4]
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov eax, dword [edi + 0x60]
cmp ecx, eax
jbe 0x5af568
lea ebp, [eax + ebx]
cmp byte [ebp], 0x22
je 0x5ad70c
test dl, dl
jne 0x5ae92e
cmp ecx, eax
jbe 0x5af563
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5adeb9
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5af55c
movzx esi, byte [eax + ebx + 1]
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5ad6b5
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5ad6b5
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5ade0c
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5af555
lea ebp, [eax + ebx + 2]
cmp byte [ebp], 0x85
je 0x5ad6b5
movzx ebp, byte [esp + 0x26]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5adeb5
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5af54e
lea edx, [eax + ebx + 2]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x5ade56
mov byte [esp + 0x25], dl
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5af547
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa8
je 0x5ad6a3
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
movzx edx, byte [esp + 0x25]
jmp 0x5ade5b
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5adea4
cmp ecx, ebp
jbe 0x5af540
cmp dl, 0x80
jne 0x5ade93
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5af539
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa9
je 0x5ad6ad
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5adebb
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5adebb
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5adebb
test dl, dl
jmp 0x5adebb
test dl, dl
jne 0x5ae92e
cmp ecx, eax
jbe 0x5af534
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5ae92e
lea ebp, [eax + 1]
cmp ecx, ebp
jbe 0x5af52d
movzx ecx, byte [eax + ebx + 1]
cmp cl, 0x5c
ja 0x5ae41e
cmp cl, 0x30
ja 0x5ae0c8
cmp cl, 0x20
ja 0x5adf77
cmp cl, 9
je 0x5ae79e
cmp cl, 0x20
jne 0x5ae9d3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5adf23
mov ebx, dword [esp + 0x84]
jmp 0x5adf6b
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x22
jne 0x5adfe6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5adf92
mov ebx, dword [esp + 0x84]
jmp 0x5adfda
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x27
jne 0x5ae055
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae001
mov ebx, dword [esp + 0x84]
jmp 0x5ae049
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x30
jne 0x5ae9d3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae074
mov ebx, dword [esp + 0x84]
jmp 0x5ae0bc
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x4e
ja 0x5ae28c
cmp cl, 0x4c
jne 0x5ae1d2
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae0f0
mov ebx, dword [esp + 0x84]
jmp 0x5ae138
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, [0x5f0f40]
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 0x5ae17f
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5ae1c6
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x4e
jne 0x5ae9d3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae1f1
mov ebx, dword [esp + 0x84]
jmp 0x5ae239
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, [0x5f0f40]
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 0x5ae280
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x50
jne 0x5ae38d
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae2ab
mov ebx, dword [esp + 0x84]
jmp 0x5ae2f3
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, [0x5f0f40]
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 0x5ae33a
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5ae381
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x55
jne 0x5ae3ab
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 8
jmp 0x5ae8af
cmp cl, 0x5c
jne 0x5ae9d3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae3ca
mov ebx, dword [esp + 0x84]
jmp 0x5ae412
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x66
ja 0x5ae6ae
cmp cl, 0x61
ja 0x5ae55d
cmp cl, 0x5f
jne 0x5ae4ea
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae44f
mov ebx, dword [esp + 0x84]
jmp 0x5ae497
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, [0x5f0f40]
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 0x5ae4de
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x61
jne 0x5ae9d3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae509
mov ebx, dword [esp + 0x84]
jmp 0x5ae551
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x62
jne 0x5ae5cc
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae578
mov ebx, dword [esp + 0x84]
jmp 0x5ae5c0
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x65
jne 0x5ae63b
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae5e7
mov ebx, dword [esp + 0x84]
jmp 0x5ae62f
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x66
jne 0x5ae9d3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae65a
mov ebx, dword [esp + 0x84]
jmp 0x5ae6a2
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x74
ja 0x5ae808
cmp cl, 0x6e
jne 0x5ae726
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae6d2
mov ebx, dword [esp + 0x84]
jmp 0x5ae71a
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x72
jne 0x5ae795
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae741
mov ebx, dword [esp + 0x84]
jmp 0x5ae789
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x74
jne 0x5ae9d3
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae7b4
mov ebx, dword [esp + 0x84]
jmp 0x5ae7fc
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x75
jne 0x5ae826
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 4
jmp 0x5ae8af
cmp cl, 0x76
jne 0x5ae892
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5ae841
mov ebx, dword [esp + 0x84]
jmp 0x5ae889
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, [0x5f0f40]
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 0x5ae8af
cmp cl, 0x78
jne 0x5ae9d3
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.005a5280
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005a5280
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x5ae91a
mov edx, dword [esp + 0xe4]
cmp dword [edx + 0x64], eax
jge 0x5ae911
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5ae9c4
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
xor ecx, ecx
xor ebx, ebx
jmp 0x5aef45
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x84]
jmp 0x5aef32
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.005a5520
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 0x5adc21
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.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5aef23
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xe4]
jmp 0x5adc21
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 [0x7e2780]
test ecx, ecx
jne 0x5ae9f6
lea ecx, [0x6269ab]
mov dword [edi + 0x20], ecx
jmp 0x5aea0a
lea ecx, [edi + 0x20]
lea eax, [0x6269ab]
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 [0x7e2780]
test ecx, ecx
jne 0x5aea3b
lea eax, [0x626e1c]
mov dword [edi + 4], eax
jmp 0x5aea4f
lea ecx, [edi + 4]
lea eax, [0x626e1c]
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.005a5280
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, [0x675420]
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 [0x7e2780]
test eax, eax
jne 0x5aeb39
lea esi, [esp + 0x98]
call fcn.00463eec
movzx eax, byte [esp + 0xec]
test al, al
jmp 0x5aeb60
lea eax, [0x60e1a0]
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 0x5aeb6d
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 0x5aef0c
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 0x5aed0d
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x5aed04
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5aecfb
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5aecf2
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5aec3b
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5aef03
lea esi, [ebx + ebp + 1]
cmp byte [esi], 0x85
je 0x5aec2e
movzx esi, byte [esp + 0x27]
jmp 0x5aec3b
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5aed0f
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5ad7ae
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5aeefa
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 0x5aec93
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5aeef1
lea esi, [ebx + ebp + 2]
cmp byte [esi], 0xa8
je 0x5aec89
movzx esi, byte [esp + 0x27]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jmp 0x5aecae
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5aed0f
mov dword [esp + 0x8c], ebx
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
mov ebx, dword [esp + 0x8c]
movzx esi, byte [esp + 0x27]
jne 0x5ad7ae
mov esi, dword [esp + 0x6c]
cmp edx, esi
jbe 0x5aeee8
movzx esi, byte [esp + 0x25]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5ad7ae
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5aeedf
lea edx, [ebx + ebp + 2]
cmp byte [edx], 0xa9
jne 0x5ad7ae
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5aed0f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5aed0f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5aed0f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5aed0f
mov edx, esi
mov byte [esp + 0x24], al
je 0x5aed1a
cmp dl, 9
jne 0x5aed87
test al, al
je 0x5aed34
mov dword [esp], edi
call fcn.005a5280
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x7c]
jmp 0x5aed5c
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.005a5520
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 0x5aee50
cmp dword [edi + 0x64], 2
jge 0x5aedba
mov dword [esp], edi
mov dword [esp + 4], 2
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5aeed0
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xe4]
test al, al
je 0x5aee12
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.005a5780
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 0x5aee50
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.005a5780
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 0x5aeb8b
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.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5aeec1
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 0x5aeb8b
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 0x5ae95d
inc ecx
shl ebx, 4
add ebx, edx
mov edx, edi
cmp ecx, eax
jge 0x5af056
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 0x5af524
movzx edx, byte [edx + esi]
cmp dl, 0x30
jb 0x5aefb0
cmp dl, 0x39
jbe 0x5aef84
cmp dl, 0x41
jb 0x5aefb0
cmp dl, 0x46
jbe 0x5aef84
cmp dl, 0x61
jb 0x5aefb0
cmp dl, 0x66
ja 0x5aefb0
lea ebp, [edx - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5aef96
movzx edx, dl
add edx, 0xffffffc9
jmp 0x5aef3d
lea ebp, [edx - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5aefa8
movzx ebp, dl
lea edx, [ebp - 0x57]
jmp 0x5aef3d
movzx ebp, dl
lea edx, [ebp - 0x30]
jmp 0x5aef3d
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5aefd3
lea ecx, [0x6269ab]
mov dword [edi + 0x20], ecx
jmp 0x5aefe7
lea ecx, [edi + 0x20]
lea eax, [0x6269ab]
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 [0x7e2780]
test ecx, ecx
jne 0x5af018
lea eax, [0x62a76f]
mov dword [edi + 4], eax
jmp 0x5af02c
lea ecx, [edi + 4]
lea eax, [0x62a76f]
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 0x5af450
cmp ebx, 0x10ffff
jg 0x5af450
mov dword [esp + 0x30], ebx
cmp ebx, 0x7f
jg 0x5af0e4
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af093
mov esi, dword [esp + 0x84]
jmp 0x5af0db
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, [0x5f0f40]
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 0x5af43a
cmp ebx, 0x7ff
jg 0x5af1b1
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af106
mov esi, dword [esp + 0x84]
jmp 0x5af14e
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, [0x5f0f40]
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 0x5af19f
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5af43a
cmp ebx, 0xffff
jg 0x5af2d4
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af1d3
mov esi, dword [esp + 0x84]
jmp 0x5af21b
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, [0x5f0f40]
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 0x5af26c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5af2c2
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5af43a
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5af2ea
mov esi, dword [esp + 0x84]
jmp 0x5af332
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, [0x5f0f40]
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 0x5af383
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5af3d9
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5af42d
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
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 0x5af517
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5af473
lea ecx, [0x6269ab]
mov dword [edx + 0x20], ecx
jmp 0x5af481
lea edi, [edx + 0x20]
lea eax, [0x6269ab]
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 [0x7e2780]
test ecx, ecx
jne 0x5af4b2
lea eax, [0x62b682]
mov dword [edx + 4], eax
jmp 0x5af4c0
lea edi, [edx + 4]
lea eax, [0x62b682]
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.005a5280
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 0x5af4ea
mov eax, ebp
mov edx, esi
jmp 0x5aef32
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.005ad450