Function at 0x100084d0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10172c13
mov eax, dword fs:[0]
push eax
sub esp, 0xcb0
mov eax, dword [0x101c8fb4]
xor eax, esp
mov dword [esp + 0xcac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c8fb4]
xor eax, esp
push eax
lea eax, [esp + 0xcc4]
mov dword fs:[0], eax
mov eax, dword [esp + 0xcdc]
xor ebx, ebx
cmp dword [esp + 0xce0], ebx
mov edi, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], 1
mov esi, 2
je 0x10008534
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x5c]
mov byte [esp + 0x4b8], 0x65
mov byte [esp + 0x4b9], 0x6d
mov byte [esp + 0x4ba], 0x69
mov byte [esp + 0x4bb], 0x74
mov byte [esp + 0x4bc], bl
mov byte [esp + 0x4b0], 0x25
mov byte [esp + 0x4b1], 0x30
mov byte [esp + 0x4b2], 0x32
mov byte [esp + 0x4b3], 0x78
mov byte [esp + 0x4b4], bl
mov dword [esp + 0x50], eax
call fcn.10102d5b
mov dword [esp + 0xccc], ebx
push ebx
lea eax, [esp + 0x60]
push eax
push 0x1017ba38
push edi
call fcn.1005deb0
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov byte [esp + 0xccc], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0xccc], 2
mov cl, 0xe3
mov byte [esp + 0x24b], cl
mov byte [esp + 0x25a], cl
mov ecx, 1
mov al, 0x6a
mov edi, 4
mov dl, 0x7a
mov dword [esp + 0x25c], ecx
mov dword [esp + 0x260], ecx
mov cl, 0x6e
mov byte [esp + 0x234], al
mov byte [esp + 0x235], 0x6d
mov byte [esp + 0x236], 0x70
mov byte [esp + 0x237], bl
mov word [esp + 0x238], bx
mov byte [esp + 0x23a], 0xe9
mov byte [esp + 0x23b], bl
mov dword [esp + 0x23c], 1
mov dword [esp + 0x240], edi
mov byte [esp + 0x244], al
mov byte [esp + 0x245], 0x63
mov byte [esp + 0x246], 0x78
mov byte [esp + 0x247], dl
mov byte [esp + 0x248], bl
mov byte [esp + 0x249], bl
mov byte [esp + 0x24a], 0x67
mov dword [esp + 0x24c], esi
mov dword [esp + 0x250], 1
mov byte [esp + 0x254], al
mov byte [esp + 0x255], 0x65
mov byte [esp + 0x256], 0x63
mov byte [esp + 0x257], 0x78
mov byte [esp + 0x258], dl
mov byte [esp + 0x259], bl
mov byte [esp + 0x25b], bl
mov byte [esp + 0x264], al
mov byte [esp + 0x265], 0x65
mov byte [esp + 0x266], bl
mov word [esp + 0x267], bx
mov byte [esp + 0x269], bl
mov byte [esp + 0x26a], 0xf
mov byte [esp + 0x26b], 0x84
mov dword [esp + 0x26c], esi
mov dword [esp + 0x270], edi
mov byte [esp + 0x274], al
mov byte [esp + 0x275], cl
mov byte [esp + 0x276], 0x65
mov byte [esp + 0x285], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x287], dx
movzx edx, dl
mov byte [esp + 0x289], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x2a7], dx
movzx edx, dl
mov byte [esp + 0x2a9], dl
mov dl, 0x86
mov byte [esp + 0x2bb], dl
mov byte [esp + 0x2db], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x2e7], dx
movzx edx, dl
mov byte [esp + 0x2e9], dl
mov dl, 0x82
mov byte [esp + 0x277], bl
mov word [esp + 0x278], bx
mov byte [esp + 0x27a], 0xf
mov byte [esp + 0x27b], 0x85
mov dword [esp + 0x27c], esi
mov dword [esp + 0x280], edi
mov byte [esp + 0x284], al
mov byte [esp + 0x286], bl
mov byte [esp + 0x28a], 0xf
mov byte [esp + 0x28b], 0x84
mov dword [esp + 0x28c], esi
mov dword [esp + 0x290], edi
mov byte [esp + 0x294], al
mov byte [esp + 0x295], cl
mov byte [esp + 0x296], 0x7a
mov byte [esp + 0x297], bl
mov word [esp + 0x298], bx
mov byte [esp + 0x29a], 0xf
mov byte [esp + 0x29b], 0x85
mov dword [esp + 0x29c], esi
mov dword [esp + 0x2a0], edi
mov byte [esp + 0x2a4], al
mov byte [esp + 0x2a5], 0x61
mov byte [esp + 0x2a6], bl
mov byte [esp + 0x2aa], 0xf
mov byte [esp + 0x2ab], 0x87
mov dword [esp + 0x2ac], esi
mov dword [esp + 0x2b0], edi
mov byte [esp + 0x2b4], al
mov byte [esp + 0x2b5], cl
mov byte [esp + 0x2b6], 0x61
mov byte [esp + 0x2b7], bl
mov word [esp + 0x2b8], bx
mov byte [esp + 0x2ba], 0xf
mov dword [esp + 0x2bc], esi
mov dword [esp + 0x2c0], edi
mov byte [esp + 0x2c4], al
mov byte [esp + 0x2c5], cl
mov byte [esp + 0x2c6], 0x62
mov byte [esp + 0x2c7], 0x65
mov byte [esp + 0x2c8], bl
mov byte [esp + 0x2c9], bl
mov byte [esp + 0x2ca], 0xf
mov byte [esp + 0x2cb], 0x87
mov dword [esp + 0x2cc], esi
mov dword [esp + 0x2d0], edi
mov byte [esp + 0x2d4], al
mov byte [esp + 0x2d5], 0x62
mov byte [esp + 0x2d6], 0x65
mov byte [esp + 0x2d7], bl
mov word [esp + 0x2d8], bx
mov byte [esp + 0x2da], 0xf
mov dword [esp + 0x2dc], esi
mov dword [esp + 0x2e0], edi
mov byte [esp + 0x2e4], al
mov byte [esp + 0x2e5], 0x62
mov byte [esp + 0x2e6], bl
mov byte [esp + 0x2ea], 0xf
mov byte [esp + 0x2eb], dl
mov dword [esp + 0x2ec], esi
mov dword [esp + 0x2f0], edi
mov byte [esp + 0x30b], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x327], dx
movzx edx, dl
mov byte [esp + 0x329], dl
mov dl, 0x8e
mov byte [esp + 0x33b], dl
mov byte [esp + 0x35b], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x367], dx
movzx edx, dl
mov byte [esp + 0x2f4], al
mov byte [esp + 0x2f5], cl
mov byte [esp + 0x2f6], 0x62
mov byte [esp + 0x2f7], bl
mov word [esp + 0x2f8], bx
mov byte [esp + 0x2fa], 0xf
mov byte [esp + 0x2fb], 0x83
mov dword [esp + 0x2fc], esi
mov dword [esp + 0x300], edi
mov byte [esp + 0x304], al
mov byte [esp + 0x305], cl
mov byte [esp + 0x306], 0x61
mov byte [esp + 0x307], 0x65
mov byte [esp + 0x308], bl
mov byte [esp + 0x309], bl
mov byte [esp + 0x30a], 0xf
mov dword [esp + 0x30c], esi
mov dword [esp + 0x310], edi
mov byte [esp + 0x314], al
mov byte [esp + 0x315], 0x61
mov byte [esp + 0x316], 0x65
mov byte [esp + 0x317], bl
mov word [esp + 0x318], bx
mov byte [esp + 0x31a], 0xf
mov byte [esp + 0x31b], 0x83
mov dword [esp + 0x31c], esi
mov dword [esp + 0x320], edi
mov byte [esp + 0x324], al
mov byte [esp + 0x325], 0x67
mov byte [esp + 0x326], bl
mov byte [esp + 0x32a], 0xf
mov byte [esp + 0x32b], 0x8f
mov dword [esp + 0x32c], esi
mov dword [esp + 0x330], edi
mov byte [esp + 0x334], al
mov byte [esp + 0x335], cl
mov byte [esp + 0x336], 0x67
mov byte [esp + 0x337], bl
mov word [esp + 0x338], bx
mov byte [esp + 0x33a], 0xf
mov dword [esp + 0x33c], esi
mov dword [esp + 0x340], edi
mov byte [esp + 0x344], al
mov byte [esp + 0x345], cl
mov byte [esp + 0x346], 0x6c
mov byte [esp + 0x347], 0x65
mov byte [esp + 0x348], bl
mov byte [esp + 0x349], bl
mov byte [esp + 0x34a], 0xf
mov byte [esp + 0x34b], 0x8f
mov dword [esp + 0x34c], esi
mov dword [esp + 0x350], edi
mov byte [esp + 0x354], al
mov byte [esp + 0x355], 0x6c
mov byte [esp + 0x356], 0x65
mov byte [esp + 0x357], bl
mov word [esp + 0x358], bx
mov byte [esp + 0x35a], 0xf
mov dword [esp + 0x35c], esi
mov dword [esp + 0x360], edi
mov byte [esp + 0x364], al
mov byte [esp + 0x365], 0x6c
mov byte [esp + 0x366], bl
mov byte [esp + 0x369], dl
mov byte [esp + 0x36a], 0xf
mov byte [esp + 0x36b], 0x8c
mov dword [esp + 0x36c], esi
mov dword [esp + 0x370], edi
mov dl, 0x8d
mov byte [esp + 0x37b], dl
mov byte [esp + 0x39b], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x3a7], dx
movzx edx, dl
mov byte [esp + 0x3a9], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x3c7], dx
movzx edx, dl
mov byte [esp + 0x3c9], dl
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x3e7], dx
movzx edx, dl
mov byte [esp + 0x374], al
mov byte [esp + 0x375], cl
mov byte [esp + 0x376], 0x6c
mov byte [esp + 0x377], bl
mov word [esp + 0x378], bx
mov byte [esp + 0x37a], 0xf
mov dword [esp + 0x37c], esi
mov dword [esp + 0x380], edi
mov byte [esp + 0x384], al
mov byte [esp + 0x385], cl
mov byte [esp + 0x386], 0x67
mov byte [esp + 0x387], 0x65
mov byte [esp + 0x388], bl
mov byte [esp + 0x389], bl
mov byte [esp + 0x38a], 0xf
mov byte [esp + 0x38b], 0x8c
mov dword [esp + 0x38c], esi
mov dword [esp + 0x390], edi
mov byte [esp + 0x394], al
mov byte [esp + 0x395], 0x67
mov byte [esp + 0x396], 0x65
mov byte [esp + 0x397], bl
mov word [esp + 0x398], bx
mov byte [esp + 0x39a], 0xf
mov dword [esp + 0x39c], esi
mov dword [esp + 0x3a0], edi
mov byte [esp + 0x3a4], al
mov byte [esp + 0x3a5], 0x73
mov byte [esp + 0x3a6], bl
mov byte [esp + 0x3aa], 0xf
mov byte [esp + 0x3ab], 0x88
mov dword [esp + 0x3ac], esi
mov dword [esp + 0x3b0], edi
mov byte [esp + 0x3b4], al
mov byte [esp + 0x3b5], cl
mov byte [esp + 0x3b6], 0x73
mov byte [esp + 0x3b7], bl
mov word [esp + 0x3b8], bx
mov byte [esp + 0x3ba], 0xf
mov byte [esp + 0x3bb], 0x89
mov dword [esp + 0x3bc], esi
mov dword [esp + 0x3c0], edi
mov byte [esp + 0x3c4], al
mov byte [esp + 0x3c5], 0x63
mov byte [esp + 0x3c6], bl
mov byte [esp + 0x3ca], 0xf
mov byte [esp + 0x3cb], 0x82
mov dword [esp + 0x3cc], esi
mov dword [esp + 0x3d0], edi
mov byte [esp + 0x3d4], al
mov byte [esp + 0x3d5], cl
mov byte [esp + 0x3d6], 0x63
mov byte [esp + 0x3d7], bl
mov word [esp + 0x3d8], bx
mov byte [esp + 0x3da], 0xf
mov byte [esp + 0x3db], 0x83
mov dword [esp + 0x3dc], esi
mov dword [esp + 0x3e0], edi
mov byte [esp + 0x3e4], al
mov byte [esp + 0x3e5], 0x6f
mov byte [esp + 0x3e6], bl
mov byte [esp + 0x3e9], dl
mov byte [esp + 0x3ea], 0xf
mov byte [esp + 0x3eb], 0x80
xor edx, edx
mov dword [esp + 0x18], edx
mov word [esp + 0x407], dx
movzx edx, dl
mov byte [esp + 0x3f5], cl
mov byte [esp + 0x415], cl
mov cl, 0x70
mov byte [esp + 0x409], dl
mov byte [esp + 0x416], cl
mov dl, 0x8b
mov byte [esp + 0x425], cl
mov byte [esp + 0x435], cl
xor ecx, ecx
cmp ebp, ebx
mov byte [esp + 0x3f4], al
mov byte [esp + 0x404], al
mov byte [esp + 0x414], al
mov byte [esp + 0x424], al
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3ec], esi
mov dword [esp + 0x3f0], edi
mov byte [esp + 0x3f6], 0x6f
mov byte [esp + 0x3f7], bl
mov word [esp + 0x3f8], bx
mov byte [esp + 0x3fa], 0xf
mov byte [esp + 0x3fb], 0x81
mov dword [esp + 0x3fc], esi
mov dword [esp + 0x400], edi
mov byte [esp + 0x405], 0x70
mov byte [esp + 0x406], bl
mov byte [esp + 0x40a], 0xf
mov byte [esp + 0x40b], 0x8a
mov dword [esp + 0x40c], esi
mov dword [esp + 0x410], edi
mov byte [esp + 0x417], bl
mov word [esp + 0x418], bx
mov byte [esp + 0x41a], 0xf
mov byte [esp + 0x41b], dl
mov dword [esp + 0x41c], esi
mov dword [esp + 0x420], edi
mov byte [esp + 0x426], 0x65
mov byte [esp + 0x427], bl
mov word [esp + 0x428], bx
mov byte [esp + 0x42a], 0xf
mov byte [esp + 0x42b], 0x8a
mov dword [esp + 0x42c], esi
mov dword [esp + 0x430], edi
mov byte [esp + 0x436], 0x6f
mov byte [esp + 0x437], bl
mov word [esp + 0x438], bx
mov byte [esp + 0x43a], 0xf
mov byte [esp + 0x43b], dl
mov dword [esp + 0x43c], esi
mov dword [esp + 0x440], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ecx
jle 0x10009191
cmp ecx, ebx
jl 0x10009280
cmp ecx, dword [esp + 0x64]
jge 0x10009280
mov edx, dword [eax + ecx*4]
cmp dword [edx - 0xc], esi
jl 0x10009182
cmp byte [edx], 0x3a
jne 0x10009182
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ecx*4]
lea ebp, [eax + 1]
mov eax, ebp
mov dword [esp + 0x214], 0xf
mov dword [esp + 0x210], ebx
mov byte [esp + 0x200], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x10008f77
sub eax, ecx
push eax
push ebp
lea ecx, [esp + 0x204]
call fcn.10004080
mov byte [esp + 0xccc], 3
mov edx, dword [esp + 0x214]
cmp edx, 0x10
mov eax, dword [esp + 0x200]
mov byte [esp + 0x17], 0x20
jae 0x10008fb7
lea eax, [esp + 0x200]
mov ebp, dword [esp + 0x210]
add eax, ebp
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x10008ff8
cmp edx, 0x10
mov ecx, dword [esp + 0x200]
jae 0x10008fdb
lea ecx, [esp + 0x200]
cmp ecx, eax
ja 0x10008ff8
cmp edx, 0x10
mov ecx, dword [esp + 0x200]
jae 0x10008ff2
lea ecx, [esp + 0x200]
add ecx, ebp
cmp eax, ecx
jbe 0x10009004
call fcn.1011323c
mov edx, dword [esp + 0x214]
cmp edx, 0x10
mov ebp, dword [esp + 0x200]
mov eax, ebp
jae 0x10009019
lea eax, [esp + 0x200]
mov ecx, dword [esp + 0x210]
add eax, ecx
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x10009057
cmp edx, 0x10
mov ecx, ebp
jae 0x10009038
lea ecx, [esp + 0x200]
cmp ecx, eax
ja 0x10009057
cmp edx, 0x10
mov ecx, ebp
jae 0x1000904a
lea ecx, [esp + 0x200]
mov ebp, dword [esp + 0x210]
add ecx, ebp
cmp eax, ecx
jbe 0x10009063
call fcn.1011323c
mov edx, dword [esp + 0x214]
cmp edx, 0x10
mov ecx, dword [esp + 0x200]
jb 0x10009274
cmp ecx, ebx
mov ebp, ecx
je 0x100090a6
cmp edx, 0x10
mov eax, ecx
jae 0x10009087
lea eax, [esp + 0x200]
cmp eax, ebp
ja 0x100090a6
cmp edx, 0x10
mov eax, ecx
jae 0x10009099
lea eax, [esp + 0x200]
mov edx, dword [esp + 0x210]
add eax, edx
cmp ebp, eax
jbe 0x100090ab
call fcn.1011323c
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x17]
push ecx
lea eax, [esp + 0x200]
push edx
mov ecx, eax
push ecx
push ebp
push eax
lea eax, [esp + 0x84]
push eax
call fcn.10007090
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add esp, 0x18
push ecx
lea ecx, [esp + 0x200]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x210]
call fcn.10006f40
cmp dword [esp + 0x214], 0x10
mov ecx, dword [esp + 0x200]
jae 0x1000910e
lea ecx, [esp + 0x200]
lea edx, [esp + 0x444]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
cmp al, bl
jne 0x10009115
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x468], ebx
call fcn.10008390
mov byte [esp + 0xccc], 2
cmp dword [esp + 0x214], 0x10
jb 0x1000915d
mov eax, dword [esp + 0x200]
push eax
call fcn.10100548
add esp, 4
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x214], 0xf
mov dword [esp + 0x210], ebx
mov byte [esp + 0x200], bl
add ecx, 1
cmp ecx, ebp
mov dword [esp + 0x20], ecx
jl 0x10008f28
xor esi, esi
cmp ebp, ebx
mov dword [esp + 0x20], esi
jg 0x10009289
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
cmp ecx, ebx
je 0x10009ee1
mov edx, esi
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x20], eax
jae 0x10009ee1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
cmp ebp, ebx
je 0x10009d9f
mov edx, dword [esp + 0x44]
sub edx, ebp
mov eax, 0x38e38e39
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jae 0x10009d9b
mov eax, dword [esp + 0x18]
add eax, ebp
cmp ecx, ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
je 0x10009234
sub esi, ecx
mov eax, 0x66666667
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x1000923d
call fcn.1011323c
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
add ecx, edx
push eax
push ecx
call fcn.10124d4b
mov ecx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x10009b9e
add dword [esp + 0x28], 1
add dword [esp + 0x18], 0x24
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x100091e2
lea ebp, [esp + 0x200]
jmp 0x10009079
jmp fcn.10100646
mov eax, dword [esp + 0x60]
cmp esi, ebx
mov dword [esp + 0x24], ebx
jl 0x10009280
cmp esi, dword [esp + 0x64]
jge 0x10009280
mov ecx, dword [eax + esi*4]
cmp dword [ecx - 0xc], 4
lea ebp, [esi*4]
jl 0x10009517
push 4
lea edx, [esp + 0x4bc]
mov eax, ecx
push edx
push eax
call fcn.10117b07
add esp, 0xc
test eax, eax
jne 0x10009513
cmp esi, dword [esp + 0x64]
jge 0x10009280
mov eax, dword [esp + 0x60]
mov esi, dword [eax + ebp]
add esi, 4
mov eax, esi
mov dword [esp + 0x230], 0xf
mov dword [esp + 0x22c], ebx
mov byte [esp + 0x21c], bl
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100092f6
sub eax, edi
push eax
push esi
lea ecx, [esp + 0x220]
call fcn.10004080
mov byte [esp + 0xccc], 4
mov ecx, dword [esp + 0x230]
cmp ecx, 0x10
mov edx, dword [esp + 0x21c]
mov byte [esp + 0x17], 0x20
mov eax, edx
jae 0x10009338
lea eax, [esp + 0x21c]
mov ebp, dword [esp + 0x22c]
lea esi, [eax + ebp]
cmp esi, ebx
mov dword [esp + 0x18], esi
je 0x10009370
cmp ecx, 0x10
mov eax, edx
jae 0x10009358
lea eax, [esp + 0x21c]
cmp eax, esi
ja 0x10009370
cmp ecx, 0x10
mov eax, edx
jae 0x1000936a
lea eax, [esp + 0x21c]
add eax, ebp
cmp esi, eax
jbe 0x1000938a
call fcn.1011323c
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x21c]
mov ebp, dword [esp + 0x22c]
cmp ecx, 0x10
mov eax, edx
jae 0x10009398
lea eax, [esp + 0x21c]
lea edi, [eax + ebp]
cmp edi, ebx
je 0x100093c5
cmp ecx, 0x10
mov eax, edx
jae 0x100093ad
lea eax, [esp + 0x21c]
cmp eax, edi
ja 0x100093c5
cmp ecx, 0x10
mov eax, edx
jae 0x100093bf
lea eax, [esp + 0x21c]
add eax, ebp
cmp edi, eax
jbe 0x100093d8
call fcn.1011323c
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x21c]
cmp ecx, 0x10
lea ebp, [esp + 0x218]
jb 0x10009507
cmp edx, ebx
mov esi, edx
je 0x1000941b
cmp ecx, 0x10
mov eax, edx
jae 0x100093fc
lea eax, [esp + 0x21c]
cmp eax, esi
ja 0x1000941b
cmp ecx, 0x10
mov eax, edx
jae 0x1000940e
lea eax, [esp + 0x21c]
mov ecx, dword [esp + 0x22c]
add eax, ecx
cmp esi, eax
jbe 0x10009420
call fcn.1011323c
lea edx, [esp + 0x17]
push edx
push edi
push ebp
lea eax, [esp + 0x224]
push esi
push eax
lea eax, [esp + 0x84]
push eax
call fcn.10007090
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add esp, 0x18
push ecx
lea ecx, [esp + 0x21c]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x22c]
call fcn.10006f40
cmp dword [esp + 0x230], 0x10
mov esi, dword [esp + 0x21c]
jae 0x1000947d
lea esi, [esp + 0x21c]
cmp byte [esi], bl
je 0x100094bf
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x24]
lea esp, [esp]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x4b4]
push eax
push esi
mov dword [esp + 0x24], ebx
call fcn.10113843
mov cl, byte [esp + 0x24]
mov byte [edi + ebp], cl
add esi, 2
add esp, 0xc
add edi, 1
cmp byte [esi], bl
jne 0x10009490
mov dword [esp + 0x24], edi
mov byte [esp + 0xccc], 2
cmp dword [esp + 0x230], 0x10
jb 0x100094e1
mov edx, dword [esp + 0x21c]
push edx
call fcn.10100548
add esp, 4
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x230], 0xf
mov dword [esp + 0x22c], ebx
mov byte [esp + 0x21c], bl
jmp 0x10009985
lea esi, [esp + 0x21c]
jmp 0x100093ee
mov eax, dword [esp + 0x60]
cmp esi, dword [esp + 0x64]
jge 0x10009280
mov ecx, dword [eax + ebp]
cmp dword [ecx - 0xc], 2
jl 0x100097b9
cmp byte [ecx], 0x3a
jne 0x100097b9
mov eax, ecx
lea esi, [eax + 1]
mov eax, esi
mov dword [esp + 0x4a8], 0xf
mov dword [esp + 0x4a4], ebx
mov byte [esp + 0x494], bl
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10009560
sub eax, edi
push eax
push esi
lea ecx, [esp + 0x498]
call fcn.10004080
mov byte [esp + 0xccc], 5
mov ecx, dword [esp + 0x4a8]
cmp ecx, 0x10
mov edx, dword [esp + 0x494]
mov byte [esp + 0x17], 0x20
mov eax, edx
jae 0x100095a2
lea eax, [esp + 0x494]
mov ebp, dword [esp + 0x4a4]
lea esi, [eax + ebp]
cmp esi, ebx
mov dword [esp + 0x18], esi
je 0x100095da
cmp ecx, 0x10
mov eax, edx
jae 0x100095c2
lea eax, [esp + 0x494]
cmp eax, esi
ja 0x100095da
cmp ecx, 0x10
mov eax, edx
jae 0x100095d4
lea eax, [esp + 0x494]
add eax, ebp
cmp esi, eax
jbe 0x100095f4
call fcn.1011323c
mov ecx, dword [esp + 0x4a8]
mov edx, dword [esp + 0x494]
mov ebp, dword [esp + 0x4a4]
cmp ecx, 0x10
mov eax, edx
jae 0x10009602
lea eax, [esp + 0x494]
lea edi, [eax + ebp]
cmp edi, ebx
je 0x1000962f
cmp ecx, 0x10
mov eax, edx
jae 0x10009617
lea eax, [esp + 0x494]
cmp eax, edi
ja 0x1000962f
cmp ecx, 0x10
mov eax, edx
jae 0x10009629
lea eax, [esp + 0x494]
add eax, ebp
cmp edi, eax
jbe 0x10009642
call fcn.1011323c
mov ecx, dword [esp + 0x4a8]
mov edx, dword [esp + 0x494]
cmp ecx, 0x10
lea ebp, [esp + 0x490]
jb 0x1000972a
cmp edx, ebx
mov esi, edx
je 0x10009685
cmp ecx, 0x10
mov eax, edx
jae 0x10009666
lea eax, [esp + 0x494]
cmp eax, esi
ja 0x10009685
cmp ecx, 0x10
mov eax, edx
jae 0x10009678
lea eax, [esp + 0x494]
mov edx, dword [esp + 0x4a4]
add eax, edx
cmp esi, eax
jbe 0x1000968a
call fcn.1011323c
lea ecx, [esp + 0x17]
push ecx
push edi
push ebp
lea eax, [esp + 0x49c]
push esi
push eax
lea edx, [esp + 0xa8]
push edx
call fcn.10007090
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add esp, 0x18
push ecx
lea ecx, [esp + 0x494]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x4a4]
call fcn.10006f40
xor esi, esi
xor ebp, ebp
mov edi, dword [esp + 0x40]
cmp edi, ebx
je 0x10009771
mov ecx, dword [esp + 0x44]
sub ecx, edi
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x10009771
mov eax, dword [esp + 0x494]
add edi, ebp
cmp dword [esp + 0x4a8], 0x10
jae 0x10009714
lea eax, [esp + 0x494]
push edi
push eax
call fcn.10124d4b
add esp, 8
test eax, eax
je 0x10009736
add esi, 1
add ebp, 0x24
jmp 0x100096d3
lea esi, [esp + 0x494]
jmp 0x10009658
mov edi, dword [esp + 0x40]
cmp edi, ebx
je 0x10009759
mov ecx, dword [esp + 0x44]
sub ecx, edi
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x10009762
call fcn.1011323c
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
sub edx, dword [esp + 0x58]
lea eax, [esi + esi*8]
mov dword [edi + eax*4 + 0x20], edx
mov byte [esp + 0xccc], 2
cmp dword [esp + 0x4a8], 0x10
jb 0x10009793
mov ecx, dword [esp + 0x494]
push ecx
call fcn.10100548
add esp, 4
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x4a8], 0xf
mov dword [esp + 0x4a4], ebx
mov byte [esp + 0x494], bl
jmp 0x10009985
mov eax, dword [eax + ebp]
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0x2c]
push ecx
push 0x21
lea edx, [esp + 0x240]
push edx
push eax
lea edi, [esp + 0x50]
call fcn.10006740
add esp, 0x14
test eax, eax
je 0x10009866
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
shl esi, 4
mov eax, dword [esp + esi + 0x23c]
lea edi, [esp + esi + 0x23c]
push eax
lea ecx, [esp + esi + 0x23e]
push ecx
push edx
call fcn.101132a0
mov esi, dword [esp + esi + 0x24c]
mov edi, dword [edi]
add esp, 0xc
lea ebp, [esi + edi]
xor eax, eax
mov cl, byte [esp + eax + 0x444]
mov byte [esp + eax + 0x468], cl
add eax, 1
cmp cl, bl
jne 0x10009821
sub edi, dword [esp + 0x58]
lea eax, [esp + 0x468]
add edi, dword [esp + 0x50]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x48c], edi
mov dword [esp + 0x490], esi
call fcn.10008430
mov esi, dword [esp + 0x20]
jmp 0x10009985
mov ecx, dword [esp + 0x54]
push ebx
push ecx
lea ecx, [esp + 0x204]
call fcn.100f6ad0
mov edx, dword [esp + 0xcd4]
mov eax, dword [esp + 0xcd8]
lea ecx, [esp + 0x9c]
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], edx
mov dword [esp + 0x208], eax
call fcn.100f78a0
mov byte [esp + 0xccc], 6
lea ecx, [esp + 0x1fc]
push ecx
lea ecx, [esp + 0xa0]
call fcn.100f7c60
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0x160]
call fcn.100f0f30
mov byte [esp + 0xccc], 7
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x7c]
call fcn.100f9170
mov byte [esp + 0xccc], 8
cmp esi, dword [esp + 0x64]
jge 0x10009280
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + ebp]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x80]
call fcn.100fa4e0
lea ecx, [esp + 0x9c]
mov edi, eax
call fcn.100f7770
cmp edi, ebx
jne 0x100099b5
mov edx, dword [esp + 0x11c]
mov eax, dword [edx]
mov ebp, dword [eax + 0x38]
mov eax, dword [eax + 0x34]
push ebp
push eax
mov eax, dword [esp + 0x58]
push eax
call fcn.101132a0
add esp, 0xc
mov byte [esp + 0xccc], 7
lea ecx, [esp + 0x78]
call fcn.100f8d60
mov byte [esp + 0xccc], 6
lea ecx, [esp + 0x15c]
call fcn.100f0fa0
mov byte [esp + 0xccc], 2
lea ecx, [esp + 0x9c]
call fcn.100f7bc0
add dword [esp + 0x50], ebp
mov eax, ebp
cdq
add dword [esp + 0xcd4], eax
adc dword [esp + 0xcd8], edx
add esi, 1
cmp esi, dword [esp + 0x4c]
mov dword [esp + 0x20], esi
jl 0x10009285
mov edi, 4
jmp 0x1000919f
push ebx
push ebx
lea ecx, [esp + 0x164]
call fcn.100f7580
cmp dword [0x101b4104], ebx
je 0x10009b01
cmp esi, dword [esp + 0x64]
mov al, 0xce
mov dl, 0xed
mov cl, 0xf3
mov byte [esp + 0x490], 0xd6
mov byte [esp + 0x491], 0xb8
mov byte [esp + 0x492], 0xc1
mov byte [esp + 0x493], 0xee
mov byte [esp + 0x494], 0x5b
mov byte [esp + 0x495], 0x25
mov byte [esp + 0x496], 0x73
mov byte [esp + 0x497], 0x5d
mov byte [esp + 0x498], 0xbd
mov byte [esp + 0x499], 0xe2
mov byte [esp + 0x49a], al
mov byte [esp + 0x49b], 0xf6
mov byte [esp + 0x49c], 0xb4
mov byte [esp + 0x49d], dl
mov byte [esp + 0x49e], al
mov byte [esp + 0x49f], cl
mov byte [esp + 0x4a0], 0x2c
mov byte [esp + 0x4a1], 0xb4
mov byte [esp + 0x4a2], dl
mov byte [esp + 0x4a3], al
mov byte [esp + 0x4a4], cl
mov byte [esp + 0x4a5], 0xd0
mov byte [esp + 0x4a6], 0xc5
mov byte [esp + 0x4a7], 0xcf
mov byte [esp + 0x4a8], 0xa2
mov byte [esp + 0x4a9], 0x3d
mov byte [esp + 0x4aa], 0x25
mov byte [esp + 0x4ab], 0x73
mov byte [esp + 0x4ac], bl
jge 0x10009280
mov ecx, dword [esp + 0x60]
push edi
lea esi, [ecx + esi*4]
call fcn.100f82b0
mov edx, dword [esi]
push eax
push edx
lea eax, [esp + 0x49c]
push eax
lea ecx, [esp + 0x4d0]
push ecx
call fcn.10112d57
add esp, 0x14
push 0x10010
push 0x1017b900
lea edx, [esp + 0x4c8]
push edx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [esp + 0xccc], 7
lea ecx, [esp + 0x78]
call fcn.100f8d60
mov byte [esp + 0xccc], 6
lea ecx, [esp + 0x15c]
call fcn.100f0fa0
mov byte [esp + 0xccc], 2
lea ecx, [esp + 0x9c]
call fcn.100f7bc0
mov byte [esp + 0xccc], 1
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x10009b53
push eax
call fcn.10100548
add esp, 4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0xccc], bl
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x10009b77
push eax
call fcn.10100548
add esp, 4
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0xccc], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.101030a3
xor eax, eax
jmp 0x10009f4a
cmp ecx, ebx
je 0x10009bbf
mov esi, dword [esp + 0x34]
mov edx, esi
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x10009bcc
call fcn.1011323c
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
cmp dword [edx + ecx + 0x24], 1
jne 0x10009c9c
cmp dword [esp + 0x40], ebx
je 0x10009c00
mov edx, dword [esp + 0x44]
sub edx, dword [esp + 0x40]
mov eax, 0x38e38e39
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x10009c0d
call fcn.1011323c
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
lea eax, [eax + eax*8]
lea eax, [edx + eax*4]
mov dword [esp + 0x4c], eax
je 0x10009c3c
mov edx, esi
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x10009c49
call fcn.1011323c
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
add edx, ecx
cmp ecx, ebx
mov dword [esp + 0x54], edx
je 0x10009c6e
sub esi, ecx
mov eax, 0x66666667
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x10009c77
call fcn.1011323c
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x4c]
mov dl, byte [eax + 0x20]
mov eax, dword [esp + 0x54]
sub dl, byte [eax + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + ecx + 0x20]
mov eax, dword [esp + 0x58]
sub dl, 1
mov byte [eax + ecx], dl
jmp 0x10009d8f
cmp ecx, ebx
je 0x10009cb9
mov edx, esi
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x10009cc6
call fcn.1011323c
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
cmp dword [edx + ecx + 0x24], edi
jne 0x10009d97
cmp dword [esp + 0x40], ebx
je 0x10009cf9
mov edx, dword [esp + 0x44]
sub edx, dword [esp + 0x40]
mov eax, 0x38e38e39
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x10009d06
call fcn.1011323c
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
lea eax, [eax + eax*8]
lea eax, [edx + eax*4]
mov dword [esp + 0x4c], eax
je 0x10009d35
mov edx, esi
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x10009d42
call fcn.1011323c
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
add edx, ecx
cmp ecx, ebx
mov dword [esp + 0x54], edx
je 0x10009d67
sub esi, ecx
mov eax, 0x66666667
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x10009d70
call fcn.1011323c
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x20]
mov eax, dword [esp + 0x54]
sub edx, dword [eax + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + ecx + 0x20]
mov eax, dword [esp + 0x58]
sub edx, edi
mov dword [eax + ecx], edx
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jne 0x10009da3
xor eax, eax
jmp 0x10009dba
mov edx, dword [esp + 0x44]
sub edx, ebp
mov eax, 0x38e38e39
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jne 0x10009dc8
cmp dword [0x101b4104], ebx
jne 0x10009dd7
add dword [esp + 0x20], 1
add dword [esp + 0x24], 0x28
jmp 0x100091b3
cmp ecx, ebx
mov byte [esp + 0x1fc], 0xce
mov byte [esp + 0x1fd], 0xde
mov byte [esp + 0x1fe], 0xd0
mov byte [esp + 0x1ff], 0xa7
mov byte [esp + 0x200], 0xb5
mov byte [esp + 0x201], 0xc4
mov byte [esp + 0x202], 0xcc
mov byte [esp + 0x203], 0xf8
mov byte [esp + 0x204], 0xd7
mov byte [esp + 0x205], 0xaa
mov byte [esp + 0x206], 0x4c
mov byte [esp + 0x207], 0x61
mov byte [esp + 0x208], 0x62
mov byte [esp + 0x209], 0x65
mov byte [esp + 0x20a], 0x6c
mov byte [esp + 0x20b], 0x5b
mov byte [esp + 0x20c], 0x25
mov byte [esp + 0x20d], 0x73
mov byte [esp + 0x20e], 0x5d
mov byte [esp + 0x20f], bl
je 0x10009e97
sub esi, ecx
mov eax, 0x66666667
imul esi
mov esi, dword [esp + 0x20]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x10009ea4
jmp 0x10009e9b
mov esi, dword [esp + 0x20]
call fcn.1011323c
mov ecx, dword [esp + 0x30]
lea edx, [esi + esi*4]
lea eax, [ecx + edx*8]
push eax
lea ecx, [esp + 0x200]
push ecx
lea edx, [esp + 0x4c8]
push edx
call fcn.10112d57
add esp, 0xc
push 0x10010
push 0x1017b900
lea eax, [esp + 0x4c8]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10009b3a
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x58]
mov esi, eax
mov byte [esp + 0xccc], 1
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x10009f04
push eax
call fcn.10100548
add esp, 4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0xccc], bl
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x10009f28
push eax
call fcn.10100548
add esp, 4
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0xccc], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.101030a3
mov eax, esi
mov ecx, dword [esp + 0xcc4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xcac]
xor ecx, esp
call fcn.10111b17
add esp, 0xcbc
ret