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

Disassembly:
push 0xffffffffffffffff
push 0x10162143
mov eax, dword fs:[0]
push eax
sub esp, 0xcb0
mov eax, dword [0x101b734c]
xor eax, esp
mov dword [esp + 0xcac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b734c]
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 0x1000e1c4
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.100f210c
mov dword [esp + 0xccc], ebx
push ebx
lea eax, [esp + 0x60]
push eax
push 0x1016b58c
push edi
call fcn.1004b350
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 0x1000ee21
cmp ecx, ebx
jl 0x1000ef10
cmp ecx, dword [esp + 0x64]
jge 0x1000ef10
mov edx, dword [eax + ecx*4]
cmp dword [edx - 0xc], esi
jl 0x1000ee12
cmp byte [edx], 0x3a
jne 0x1000ee12
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 0x1000ec07
sub eax, ecx
push eax
push ebp
lea ecx, [esp + 0x204]
call fcn.10009d90
mov byte [esp + 0xccc], 3
mov edx, dword [esp + 0x214]
cmp edx, 0x10
mov eax, dword [esp + 0x200]
mov byte [esp + 0x17], 0x20
jae 0x1000ec47
lea eax, [esp + 0x200]
mov ebp, dword [esp + 0x210]
add eax, ebp
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x1000ec88
cmp edx, 0x10
mov ecx, dword [esp + 0x200]
jae 0x1000ec6b
lea ecx, [esp + 0x200]
cmp ecx, eax
ja 0x1000ec88
cmp edx, 0x10
mov ecx, dword [esp + 0x200]
jae 0x1000ec82
lea ecx, [esp + 0x200]
add ecx, ebp
cmp eax, ecx
jbe 0x1000ec94
call fcn.101020f5
mov edx, dword [esp + 0x214]
cmp edx, 0x10
mov ebp, dword [esp + 0x200]
mov eax, ebp
jae 0x1000eca9
lea eax, [esp + 0x200]
mov ecx, dword [esp + 0x210]
add eax, ecx
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x1000ece7
cmp edx, 0x10
mov ecx, ebp
jae 0x1000ecc8
lea ecx, [esp + 0x200]
cmp ecx, eax
ja 0x1000ece7
cmp edx, 0x10
mov ecx, ebp
jae 0x1000ecda
lea ecx, [esp + 0x200]
mov ebp, dword [esp + 0x210]
add ecx, ebp
cmp eax, ecx
jbe 0x1000ecf3
call fcn.101020f5
mov edx, dword [esp + 0x214]
cmp edx, 0x10
mov ecx, dword [esp + 0x200]
jb 0x1000ef04
cmp ecx, ebx
mov ebp, ecx
je 0x1000ed36
cmp edx, 0x10
mov eax, ecx
jae 0x1000ed17
lea eax, [esp + 0x200]
cmp eax, ebp
ja 0x1000ed36
cmp edx, 0x10
mov eax, ecx
jae 0x1000ed29
lea eax, [esp + 0x200]
mov edx, dword [esp + 0x210]
add eax, edx
cmp ebp, eax
jbe 0x1000ed3b
call fcn.101020f5
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.1000d170
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.1000d020
cmp dword [esp + 0x214], 0x10
mov ecx, dword [esp + 0x200]
jae 0x1000ed9e
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 0x1000eda5
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x468], ebx
call fcn.1000e020
mov byte [esp + 0xccc], 2
cmp dword [esp + 0x214], 0x10
jb 0x1000eded
mov eax, dword [esp + 0x200]
push eax
call fcn.100eedad
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 0x1000ebb8
xor esi, esi
cmp ebp, ebx
mov dword [esp + 0x20], esi
jg 0x1000ef19
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 0x1000fb71
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 0x1000fb71
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
cmp ebp, ebx
je 0x1000fa2f
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 0x1000fa2b
mov eax, dword [esp + 0x18]
add eax, ebp
cmp ecx, ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
je 0x1000eec4
sub esi, ecx
mov eax, 0x66666667
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x1000eecd
call fcn.101020f5
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
add ecx, edx
push eax
push ecx
call fcn.10113ba1
mov ecx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x1000f82e
add dword [esp + 0x28], 1
add dword [esp + 0x18], 0x24
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x1000ee72
lea ebp, [esp + 0x200]
jmp 0x1000ed09
jmp fcn.100eeea6
mov eax, dword [esp + 0x60]
cmp esi, ebx
mov dword [esp + 0x24], ebx
jl 0x1000ef10
cmp esi, dword [esp + 0x64]
jge 0x1000ef10
mov ecx, dword [eax + esi*4]
cmp dword [ecx - 0xc], 4
lea ebp, [esi*4]
jl 0x1000f1a7
push 4
lea edx, [esp + 0x4bc]
mov eax, ecx
push edx
push eax
call fcn.10106617
add esp, 0xc
test eax, eax
jne 0x1000f1a3
cmp esi, dword [esp + 0x64]
jge 0x1000ef10
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 0x1000ef86
sub eax, edi
push eax
push esi
lea ecx, [esp + 0x220]
call fcn.10009d90
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 0x1000efc8
lea eax, [esp + 0x21c]
mov ebp, dword [esp + 0x22c]
lea esi, [eax + ebp]
cmp esi, ebx
mov dword [esp + 0x18], esi
je 0x1000f000
cmp ecx, 0x10
mov eax, edx
jae 0x1000efe8
lea eax, [esp + 0x21c]
cmp eax, esi
ja 0x1000f000
cmp ecx, 0x10
mov eax, edx
jae 0x1000effa
lea eax, [esp + 0x21c]
add eax, ebp
cmp esi, eax
jbe 0x1000f01a
call fcn.101020f5
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x21c]
mov ebp, dword [esp + 0x22c]
cmp ecx, 0x10
mov eax, edx
jae 0x1000f028
lea eax, [esp + 0x21c]
lea edi, [eax + ebp]
cmp edi, ebx
je 0x1000f055
cmp ecx, 0x10
mov eax, edx
jae 0x1000f03d
lea eax, [esp + 0x21c]
cmp eax, edi
ja 0x1000f055
cmp ecx, 0x10
mov eax, edx
jae 0x1000f04f
lea eax, [esp + 0x21c]
add eax, ebp
cmp edi, eax
jbe 0x1000f068
call fcn.101020f5
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x21c]
cmp ecx, 0x10
lea ebp, [esp + 0x218]
jb 0x1000f197
cmp edx, ebx
mov esi, edx
je 0x1000f0ab
cmp ecx, 0x10
mov eax, edx
jae 0x1000f08c
lea eax, [esp + 0x21c]
cmp eax, esi
ja 0x1000f0ab
cmp ecx, 0x10
mov eax, edx
jae 0x1000f09e
lea eax, [esp + 0x21c]
mov ecx, dword [esp + 0x22c]
add eax, ecx
cmp esi, eax
jbe 0x1000f0b0
call fcn.101020f5
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.1000d170
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.1000d020
cmp dword [esp + 0x230], 0x10
mov esi, dword [esp + 0x21c]
jae 0x1000f10d
lea esi, [esp + 0x21c]
cmp byte [esi], bl
je 0x1000f14f
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x50]
lea esp, [esp]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x4b4]
push eax
push esi
mov dword [esp + 0x24], ebx
call fcn.101026c5
mov cl, byte [esp + 0x24]
mov byte [edi + ebp], cl
add esi, 2
add esp, 0xc
add edi, 1
cmp byte [esi], bl
jne 0x1000f120
mov dword [esp + 0x24], edi
mov byte [esp + 0xccc], 2
cmp dword [esp + 0x230], 0x10
jb 0x1000f171
mov edx, dword [esp + 0x21c]
push edx
call fcn.100eedad
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 0x1000f615
lea esi, [esp + 0x21c]
jmp 0x1000f07e
mov eax, dword [esp + 0x60]
cmp esi, dword [esp + 0x64]
jge 0x1000ef10
mov ecx, dword [eax + ebp]
cmp dword [ecx - 0xc], 2
jl 0x1000f449
cmp byte [ecx], 0x3a
jne 0x1000f449
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 0x1000f1f0
sub eax, edi
push eax
push esi
lea ecx, [esp + 0x498]
call fcn.10009d90
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 0x1000f232
lea eax, [esp + 0x494]
mov ebp, dword [esp + 0x4a4]
lea esi, [eax + ebp]
cmp esi, ebx
mov dword [esp + 0x18], esi
je 0x1000f26a
cmp ecx, 0x10
mov eax, edx
jae 0x1000f252
lea eax, [esp + 0x494]
cmp eax, esi
ja 0x1000f26a
cmp ecx, 0x10
mov eax, edx
jae 0x1000f264
lea eax, [esp + 0x494]
add eax, ebp
cmp esi, eax
jbe 0x1000f284
call fcn.101020f5
mov ecx, dword [esp + 0x4a8]
mov edx, dword [esp + 0x494]
mov ebp, dword [esp + 0x4a4]
cmp ecx, 0x10
mov eax, edx
jae 0x1000f292
lea eax, [esp + 0x494]
lea edi, [eax + ebp]
cmp edi, ebx
je 0x1000f2bf
cmp ecx, 0x10
mov eax, edx
jae 0x1000f2a7
lea eax, [esp + 0x494]
cmp eax, edi
ja 0x1000f2bf
cmp ecx, 0x10
mov eax, edx
jae 0x1000f2b9
lea eax, [esp + 0x494]
add eax, ebp
cmp edi, eax
jbe 0x1000f2d2
call fcn.101020f5
mov ecx, dword [esp + 0x4a8]
mov edx, dword [esp + 0x494]
cmp ecx, 0x10
lea ebp, [esp + 0x490]
jb 0x1000f3ba
cmp edx, ebx
mov esi, edx
je 0x1000f315
cmp ecx, 0x10
mov eax, edx
jae 0x1000f2f6
lea eax, [esp + 0x494]
cmp eax, esi
ja 0x1000f315
cmp ecx, 0x10
mov eax, edx
jae 0x1000f308
lea eax, [esp + 0x494]
mov edx, dword [esp + 0x4a4]
add eax, edx
cmp esi, eax
jbe 0x1000f31a
call fcn.101020f5
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.1000d170
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.1000d020
xor esi, esi
xor ebp, ebp
mov edi, dword [esp + 0x40]
cmp edi, ebx
je 0x1000f401
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 0x1000f401
mov eax, dword [esp + 0x494]
add edi, ebp
cmp dword [esp + 0x4a8], 0x10
jae 0x1000f3a4
lea eax, [esp + 0x494]
push edi
push eax
call fcn.10113ba1
add esp, 8
test eax, eax
je 0x1000f3c6
add esi, 1
add ebp, 0x24
jmp 0x1000f363
lea esi, [esp + 0x494]
jmp 0x1000f2e8
mov edi, dword [esp + 0x40]
cmp edi, ebx
je 0x1000f3e9
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 0x1000f3f2
call fcn.101020f5
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 0x1000f423
mov ecx, dword [esp + 0x494]
push ecx
call fcn.100eedad
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 0x1000f615
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.1000c890
add esp, 0x14
test eax, eax
je 0x1000f4f6
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.10102150
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 0x1000f4b1
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.1000e0c0
mov esi, dword [esp + 0x20]
jmp 0x1000f615
mov ecx, dword [esp + 0x54]
push ebx
push ecx
lea ecx, [esp + 0x204]
call fcn.100e5240
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.100e6010
mov byte [esp + 0xccc], 6
lea ecx, [esp + 0x1fc]
push ecx
lea ecx, [esp + 0xa0]
call fcn.100e63d0
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0x160]
call fcn.100df6a0
mov byte [esp + 0xccc], 7
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x7c]
call fcn.100e78e0
mov byte [esp + 0xccc], 8
cmp esi, dword [esp + 0x64]
jge 0x1000ef10
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + ebp]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x80]
call fcn.100e8c50
lea ecx, [esp + 0x9c]
mov edi, eax
call fcn.100e5ee0
cmp edi, ebx
jne 0x1000f645
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.10102150
add esp, 0xc
mov byte [esp + 0xccc], 7
lea ecx, [esp + 0x78]
call fcn.100e74d0
mov byte [esp + 0xccc], 6
lea ecx, [esp + 0x15c]
call fcn.100df710
mov byte [esp + 0xccc], 2
lea ecx, [esp + 0x9c]
call fcn.100e6330
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 0x1000ef15
mov edi, 4
jmp 0x1000ee2f
push ebx
push ebx
lea ecx, [esp + 0x164]
call fcn.100e5cf0
cmp dword [0x101a24a0], ebx
je 0x1000f791
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 0x1000ef10
mov ecx, dword [esp + 0x60]
push edi
lea esi, [ecx + esi*4]
call fcn.100e6a20
mov edx, dword [esi]
push eax
push edx
lea eax, [esp + 0x49c]
push eax
lea ecx, [esp + 0x4d0]
push ecx
call fcn.10101c10
add esp, 0x14
push 0x10010
push 0x1016aa44
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.100e74d0
mov byte [esp + 0xccc], 6
lea ecx, [esp + 0x15c]
call fcn.100df710
mov byte [esp + 0xccc], 2
lea ecx, [esp + 0x9c]
call fcn.100e6330
mov byte [esp + 0xccc], 1
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x1000f7e3
push eax
call fcn.100eedad
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 0x1000f807
push eax
call fcn.100eedad
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.100f2454
xor eax, eax
jmp 0x1000fbda
cmp ecx, ebx
je 0x1000f84f
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 0x1000f85c
call fcn.101020f5
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
cmp dword [edx + ecx + 0x24], 1
jne 0x1000f92c
cmp dword [esp + 0x40], ebx
je 0x1000f890
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 0x1000f89d
call fcn.101020f5
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 0x1000f8cc
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 0x1000f8d9
call fcn.101020f5
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 0x1000f8fe
sub esi, ecx
mov eax, 0x66666667
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x1000f907
call fcn.101020f5
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 0x1000fa1f
cmp ecx, ebx
je 0x1000f949
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 0x1000f956
call fcn.101020f5
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
cmp dword [edx + ecx + 0x24], edi
jne 0x1000fa27
cmp dword [esp + 0x40], ebx
je 0x1000f989
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 0x1000f996
call fcn.101020f5
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 0x1000f9c5
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 0x1000f9d2
call fcn.101020f5
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 0x1000f9f7
sub esi, ecx
mov eax, 0x66666667
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x1000fa00
call fcn.101020f5
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 0x1000fa33
xor eax, eax
jmp 0x1000fa4a
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 0x1000fa58
cmp dword [0x101a24a0], ebx
jne 0x1000fa67
add dword [esp + 0x20], 1
add dword [esp + 0x24], 0x28
jmp 0x1000ee43
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 0x1000fb27
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 0x1000fb34
jmp 0x1000fb2b
mov esi, dword [esp + 0x20]
call fcn.101020f5
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.10101c10
add esp, 0xc
push 0x10010
push 0x1016aa44
lea eax, [esp + 0x4c8]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1000f7ca
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 0x1000fb94
push eax
call fcn.100eedad
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 0x1000fbb8
push eax
call fcn.100eedad
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.100f2454
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.101003d3
add esp, 0xcbc
ret