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

Disassembly:
sub esp, 0x114
mov eax, dword [0x1017a974]
xor eax, esp
mov dword [esp + 0x110], eax
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x11c]
push ebx
mov ebx, dword [esp + 0x11c]
push ebp
mov ebp, dword [esp + 0x130]
push esi
xor esi, esi
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x13c]
push edi
lea edi, [edx + ebp]
mov dword [esp + 0x24], ecx
lea ecx, [edi - 1]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x23], 0
mov byte [esp + 0x13], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x54], ecx
cmp ebx, esi
jne 0x1011dbc2
cmp eax, esi
jne 0x1011dbc2
cmp edx, esi
jne 0x1011dbc2
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xfffffc19
jne 0x1011dbc6
cmp ebp, ecx
jne 0x1011dbc6
push esi
push esi
push esi
push esi
push esi
push esi
push esi
call fcn.101109d0
add esp, 0x1c
jmp 0x1011e959
mov ecx, dword [esp + 0x1c]
test dword [esp + 0x13c], 0xe20f5a6f
je 0x1011dbdd
mov eax, 0xfffffffd
jmp 0x1011e959
cmp ebx, esi
je 0x1011e954
cmp edx, esi
je 0x1011e954
mov eax, dword [esp + 0x144]
cmp dword [esp + 0x24], esi
jne 0x1011dc02
cmp eax, esi
jg 0x1011e954
cmp eax, esi
jge 0x1011dc10
mov eax, 0xfffffff1
jmp 0x1011e959
cmp ecx, esi
jge 0x1011dc1e
mov eax, 0xffffffe0
jmp 0x1011e959
cmp ebp, esi
jl 0x1011e94d
cmp ebp, ecx
jg 0x1011e94d
mov eax, dword [ebx]
cmp eax, 0x50435245
je 0x1011dc4b
sub eax, 0x45524350
neg eax
sbb eax, eax
and eax, 0x19
add eax, 0xffffffe3
jmp 0x1011e959
test byte [ebx + 0xc], 1
jne 0x1011dc5b
mov eax, 0xffffffe4
jmp 0x1011e959
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x13c]
shr eax, 0xb
and eax, 1
mov dword [esp + 0xb0], eax
mov dword [esp + 0x28], eax
test ecx, 0x8000000
je 0x1011dc85
mov ecx, 2
jmp 0x1011dc8b
shr ecx, 0xf
and ecx, 1
mov dword [esp + 0xf0], ecx
cmp eax, esi
je 0x1011dd13
test dword [esp + 0x13c], 0x2000
jne 0x1011dd13
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.101272b0
add esp, 0xc
cmp eax, esi
je 0x1011dcf3
cmp dword [esp + 0x144], 2
jl 0x1011dcd1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
cmp eax, 5
jg 0x1011dce9
cmp dword [esp + 0xf0], 1
mov eax, 0xffffffe7
jg 0x1011e959
mov eax, 0xfffffff6
jmp 0x1011e959
cmp ebp, esi
jle 0x1011dd13
cmp ebp, dword [esp + 0x1c]
jge 0x1011dd13
mov eax, edi
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
jne 0x1011dd13
mov eax, 0xfffffff5
jmp 0x1011e959
movzx eax, word [ebx + 0x1c]
movzx ebp, word [ebx + 0x18]
mov esi, dword [ebx + 0x20]
lea edx, [ebx + ebp]
mov dword [esp + 0x88], eax
mov eax, 0x989680
mov dword [esp + 0x90], edx
movzx edx, word [ebx + 0x1a]
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x110], ecx
cmp eax, ecx
je 0x1011ddad
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
test cl, 1
je 0x1011dd72
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x14]
test cl, 2
je 0x1011dd82
mov ecx, dword [eax + 8]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x14]
test cl, 0x10
je 0x1011dd92
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x14]
test cl, 4
je 0x1011dda5
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x14]
test cl, 8
je 0x1011ddad
mov esi, dword [eax + 0x10]
test esi, esi
jne 0x1011ddb6
mov esi, 0x101577c0
mov eax, dword [ebx + 8]
mov ecx, eax
or ecx, dword [esp + 0x13c]
mov dword [esp + 0x98], esi
shr ecx, 4
and ecx, 1
mov dword [esp + 0x4c], ecx
mov ecx, ebx
movzx ecx, word [ecx + 0xc]
mov ebx, ecx
shr ebx, 8
and ebx, 1
mov dword [esp + 0x5c], ebx
mov ebx, eax
shr ebx, 0x12
and ebx, 1
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x18]
movzx ebx, word [ebx + 0x1c]
imul edx, ebx
add edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
add edx, ebp
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x1c]
add ebx, edx
mov edx, eax
shr edx, 5
and edx, 1
mov dword [esp + 0xbc], edx
mov edx, eax
shr edx, 0x1d
and edx, 1
mov dword [esp + 0xb8], edx
mov edx, eax
shr edx, 0x19
and edx, 1
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x13c]
mov ebp, edx
shr ebp, 7
and ebp, 1
mov dword [esp + 0xa8], ebp
mov ebp, edx
shr ebp, 8
and ebp, 1
mov dword [esp + 0xac], ebp
mov ebp, edx
shr ebp, 0xa
and ebp, 1
shr ecx, 0xc
mov dword [esp + 0xc0], ebp
and ecx, 1
mov ebp, edx
shr ebp, 0x1c
mov dword [esp + 0xd0], ecx
lea ecx, [esi + 0x100]
and ebp, 1
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xc4], ebp
xor ebp, ebp
add esi, 0x340
mov ecx, edx
and ecx, 0x1800000
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xd4], 0
mov dword [esp + 0xc8], ebp
mov dword [esp + 0x118], ebp
mov dword [esp + 0x114], ebp
mov dword [esp + 0x10c], ebp
mov dword [esp + 0xa0], esi
je 0x1011df21
cmp ecx, 0x800000
je 0x1011df14
cmp ecx, 0x1000000
je 0x1011df39
mov eax, 0xffffffe9
jmp 0x1011e959
mov dword [esp + 0xcc], 1
jmp 0x1011df40
test eax, 0x1800000
je 0x1011df39
mov edx, eax
shr edx, 0x17
and edx, 1
mov dword [esp + 0xcc], edx
jmp 0x1011df40
mov dword [esp + 0xcc], ebp
mov ecx, dword [esp + 0x13c]
test ecx, 0x700000
je 0x1011df51
mov eax, ecx
and eax, 0x700000
cmp eax, 0x300000
ja 0x1011dfb2
je 0x1011dfab
test eax, eax
je 0x1011df71
cmp eax, 0x100000
je 0x1011dfa4
cmp eax, 0x200000
jne 0x1011df0a
mov eax, 0xa
cmp eax, 0xff
mov dword [esp + 0x80], ebp
jle 0x1011dfde
mov ecx, eax
sar ecx, 8
mov dword [esp + 0x84], 2
mov byte [esp + 0x94], cl
mov byte [esp + 0x95], al
jmp 0x1011dff0
mov eax, 0xd
jmp 0x1011df76
mov eax, 0xd0a
jmp 0x1011df76
cmp eax, 0x400000
je 0x1011dfd1
cmp eax, 0x500000
jne 0x1011df0a
mov dword [esp + 0x80], 2
jmp 0x1011dff0
mov dword [esp + 0x80], 1
jmp 0x1011dff0
mov dword [esp + 0x84], 1
mov byte [esp + 0x94], al
cmp dword [esp + 0xf0], ebp
je 0x1011e012
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0xc]
test eax, 0x200
je 0x1011e012
mov eax, 0xfffffff3
jmp 0x1011e959
mov eax, 0x55555556
imul dword [esp + 0x144]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax + eax*2]
lea ecx, [esi + esi]
mov eax, 0x55555556
imul ecx
mov ecx, dword [esp + 0x18]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x2c], eax
movzx eax, word [ecx + 0x12]
test ax, ax
jbe 0x1011e097
movzx ecx, ax
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x1011e097
lea esi, [ecx + ecx*2 + 3]
lea ecx, [esi*4]
push ecx
call dword [0x1017d080]
mov ebp, eax
add esp, 4
mov dword [esp + 0x74], ebp
test ebp, ebp
jne 0x1011e086
lea eax, [ebp - 6]
jmp 0x1011e959
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x34], 1
jmp 0x1011e09f
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x74], ebp
lea ecx, [esi + esi]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0xf8], 0xffffffff
test ebp, ebp
je 0x1011e129
mov ecx, dword [esp + 0x18]
movzx edx, word [ecx + 0x10]
add edx, edx
lea eax, [ebp + esi*4]
add edx, edx
mov ecx, eax
sub ecx, edx
lea edx, [ebp + 8]
cmp ecx, edx
jae 0x1011e0ef
mov ecx, edx
sub eax, 4
cmp eax, ecx
jb 0x1011e111
jmp 0x1011e100
mov dword [eax], 0xffffffff
sub eax, 4
cmp eax, ecx
jae 0x1011e100
mov ebp, dword [esp + 0x74]
mov dword [ebp + 4], 0xffffffff
mov eax, dword [esp + 0x74]
mov dword [eax], 0xffffffff
mov ebx, dword [esp + 0xe0]
cmp dword [esp + 0x4c], 0
mov edx, dword [esp + 0x18]
jne 0x1011e182
movzx eax, word [edx + 0xc]
test al, 0x10
je 0x1011e166
mov cl, byte [edx + 0x14]
mov dword [esp + 0x44], 1
mov byte [esp + 0x12], cl
mov byte [esp + 0x11], cl
test al, 0x20
je 0x1011e182
mov eax, dword [esp + 0x9c]
movzx ecx, cl
mov cl, byte [ecx + eax]
mov byte [esp + 0x12], cl
jmp 0x1011e182
cmp dword [esp + 0x5c], 0
jne 0x1011e182
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1011e182
test byte [eax + 4], 1
je 0x1011e182
add eax, 8
mov dword [esp + 0x40], eax
movzx eax, word [edx + 0xc]
test al, 0x40
je 0x1011e1b2
mov cl, byte [edx + 0x16]
mov dword [esp + 0x48], 1
mov byte [esp + 0x13], cl
mov byte [esp + 0x23], cl
test al, al
jns 0x1011e1b2
mov eax, dword [esp + 0x9c]
movzx edx, cl
mov cl, byte [edx + eax]
mov byte [esp + 0x13], cl
cmp dword [esp + 0x64], 0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
je 0x1011e2fe
cmp dword [esp + 0x28], 0
mov esi, edi
je 0x1011e279
cmp edi, ebx
jae 0x1011e2ef
mov ebp, dword [esp + 0x84]
cmp dword [esp + 0x80], 0
je 0x1011e226
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x80]
push edx
lea eax, [esp + 0x88]
push eax
push ebx
push ecx
push esi
call fcn.10126f40
mov ebp, dword [esp + 0x98]
add esp, 0x14
test eax, eax
jne 0x1011e2f6
mov ebx, dword [esp + 0xe0]
mov edx, dword [esp + 0x14]
jmp 0x1011e252
mov eax, ebx
sub eax, ebp
cmp esi, eax
ja 0x1011e252
mov cl, byte [esi]
cmp cl, byte [esp + 0x94]
jne 0x1011e252
cmp ebp, 1
je 0x1011e2f6
mov al, byte [esi + 1]
cmp al, byte [esp + 0x95]
je 0x1011e2f6
inc esi
cmp esi, edx
jae 0x1011e266
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x1011e266
inc esi
cmp esi, edx
jb 0x1011e257
cmp esi, ebx
jb 0x1011e1e1
mov edx, esi
mov dword [esp + 0x14], edx
jmp 0x1011e305
cmp edi, ebx
jae 0x1011e2ef
mov ebp, dword [esp + 0x84]
cmp dword [esp + 0x80], 0
je 0x1011e2be
mov eax, dword [esp + 0x80]
push 0
lea edx, [esp + 0x88]
push edx
push ebx
push eax
push esi
call fcn.10126f40
mov ebp, dword [esp + 0x98]
add esp, 0x14
test eax, eax
jne 0x1011e2f6
mov ebx, dword [esp + 0xe0]
jmp 0x1011e2e2
mov ecx, ebx
sub ecx, ebp
cmp esi, ecx
ja 0x1011e2e2
mov dl, byte [esi]
cmp dl, byte [esp + 0x94]
jne 0x1011e2e2
cmp ebp, 1
je 0x1011e2f6
mov al, byte [esi + 1]
cmp al, byte [esp + 0x95]
je 0x1011e2f6
inc esi
cmp esi, ebx
jb 0x1011e284
mov edx, esi
mov dword [esp + 0x14], edx
jmp 0x1011e305
mov ebp, dword [esp + 0x84]
mov edx, esi
mov dword [esp + 0x14], edx
jmp 0x1011e305
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov esi, dword [esp + 0x13c]
mov ecx, dword [esp + 0xdc]
or eax, esi
test eax, 0x4000000
jne 0x1011e525
cmp dword [esp + 0x44], 0
je 0x1011e386
mov cl, byte [esp + 0x12]
cmp byte [esp + 0x11], cl
je 0x1011e360
cmp edi, edx
jae 0x1011e525
mov al, byte [edi]
cmp al, byte [esp + 0x11]
je 0x1011e525
cmp al, byte [esp + 0x12]
je 0x1011e525
inc edi
cmp edi, edx
jb 0x1011e340
jmp 0x1011e525
cmp edi, edx
jae 0x1011e525
jmp 0x1011e370
mov al, byte [esp + 0x11]
cmp byte [edi], al
je 0x1011e525
inc edi
cmp edi, edx
jb 0x1011e370
jmp 0x1011e525
cmp dword [esp + 0x5c], 0
je 0x1011e4db
mov eax, dword [esp + 0x60]
add eax, ecx
cmp edi, eax
jbe 0x1011e525
cmp dword [esp + 0x28], 0
je 0x1011e44c
cmp edi, edx
jae 0x1011e4b8
mov eax, dword [esp + 0x80]
test eax, eax
je 0x1011e3f5
cmp edi, ecx
jbe 0x1011e424
mov edx, dword [esp + 0x28]
push edx
lea edx, [esp + 0x88]
push edx
push ecx
push eax
push edi
call fcn.101270e0
mov edx, dword [esp + 0x28]
add esp, 0x14
test eax, eax
jne 0x1011e4b8
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
jmp 0x1011e424
lea eax, [ecx + ebp]
cmp edi, eax
jb 0x1011e424
mov bl, byte [esp + 0x94]
mov eax, edi
sub eax, ebp
cmp byte [eax], bl
jne 0x1011e424
cmp ebp, 1
je 0x1011e4b8
mov bl, byte [esp + 0x95]
cmp byte [eax + 1], bl
je 0x1011e4b8
inc edi
cmp edi, edx
jae 0x1011e4b8
lea ecx, [ecx]
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x1011e442
inc edi
cmp edi, edx
jb 0x1011e430
jmp 0x1011e4b8
cmp edi, edx
jb 0x1011e3b2
jmp 0x1011e4b8
cmp edi, edx
jae 0x1011e4b8
mov eax, dword [esp + 0x80]
test eax, eax
je 0x1011e48c
cmp edi, ecx
jbe 0x1011e4b3
push 0
lea edx, [esp + 0x88]
push edx
push ecx
push eax
push edi
call fcn.101270e0
mov edx, dword [esp + 0x28]
add esp, 0x14
test eax, eax
jne 0x1011e4b8
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
jmp 0x1011e4b3
lea eax, [ecx + ebp]
cmp edi, eax
jb 0x1011e4b3
mov bl, byte [esp + 0x94]
mov eax, edi
sub eax, ebp
cmp byte [eax], bl
jne 0x1011e4b3
cmp ebp, 1
je 0x1011e4b8
mov bl, byte [esp + 0x95]
cmp byte [eax + 1], bl
je 0x1011e4b8
inc edi
cmp edi, edx
jb 0x1011e450
cmp byte [edi - 1], 0xd
jne 0x1011e525
mov eax, dword [esp + 0x80]
cmp eax, 1
je 0x1011e4cf
cmp eax, 2
jne 0x1011e525
cmp edi, edx
jae 0x1011e525
cmp byte [edi], 0xa
jne 0x1011e525
inc edi
jmp 0x1011e525
cmp dword [esp + 0x40], 0
je 0x1011e525
cmp edi, edx
jae 0x1011e525
movzx eax, byte [edi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x40]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
jne 0x1011e525
inc edi
cmp dword [esp + 0x28], 0
je 0x1011e521
cmp edi, edx
jae 0x1011e525
nop
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x1011e521
inc edi
cmp edi, edx
jb 0x1011e510
jmp 0x1011e525
cmp edi, edx
jb 0x1011e4e6
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov ebp, dword [esp + 0x1c]
or eax, esi
mov dword [esp + 0x14], ebp
test eax, 0x4000000
jne 0x1011e5f5
cmp dword [esp + 0xf0], 0
jne 0x1011e5f5
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1011e56a
test byte [eax + 4], 2
je 0x1011e56a
mov ecx, ebp
sub ecx, edi
cmp ecx, dword [eax + 0x28]
jb 0x1011e667
cmp dword [esp + 0x48], 0
je 0x1011e5f5
mov edx, ebp
sub edx, edi
cmp edx, 0x3e8
jge 0x1011e5f5
xor eax, eax
cmp dword [esp + 0x44], eax
setne al
add eax, edi
cmp eax, dword [esp + 0x54]
jbe 0x1011e5f5
mov cl, byte [esp + 0x23]
mov dl, byte [esp + 0x13]
cmp cl, dl
je 0x1011e5ca
cmp eax, ebp
jae 0x1011e667
mov ebp, dword [esp + 0x1c]
movzx esi, cl
lea ecx, [ecx]
movzx ecx, byte [eax]
inc eax
cmp ecx, esi
je 0x1011e5e8
movzx ebx, dl
cmp ecx, ebx
je 0x1011e5e8
cmp eax, ebp
jb 0x1011e5b0
xor ebp, ebp
jmp 0x1011e7d9
cmp eax, ebp
jae 0x1011e667
mov dl, byte [eax]
inc eax
cmp dl, cl
je 0x1011e5e4
cmp eax, ebp
jb 0x1011e5d2
xor ebp, ebp
jmp 0x1011e7d9
mov ebp, dword [esp + 0x1c]
dec eax
cmp eax, ebp
jae 0x1011e667
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0xd8]
xor ebx, ebx
push ebx
push ebx
lea eax, [esp + 0x70]
push eax
push 2
push edi
push ecx
push edi
mov dword [esp + 0x100], edi
mov dword [esp + 0x108], edi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x110], ebx
call fcn.101109d0
add esp, 0x1c
mov ebp, eax
cmp dword [esp + 0xc8], ebx
je 0x1011e651
cmp dword [esp + 0x30], ebx
jne 0x1011e651
mov edx, dword [esp + 0xec]
mov dword [esp + 0x30], edx
cmp ebp, 0xfffffc1d
jg 0x1011e66e
je 0x1011e6b0
cmp ebp, 0xfffffc1a
jne 0x1011e7c4
xor ebp, ebp
jmp 0x1011e7d9
cmp ebp, 0xfffffc20
jg 0x1011e6a8
je 0x1011e6b0
cmp ebp, 0xfffffc1e
je 0x1011e69b
cmp ebp, 0xfffffc1f
jne 0x1011e7c4
mov esi, edi
mov dword [esp + 0xd4], 1
jmp 0x1011e6d7
mov esi, dword [esp + 0xe4]
cmp esi, edi
je 0x1011e6b0
jmp 0x1011e6d7
cmp ebp, ebx
jne 0x1011e7c4
mov dword [esp + 0xd4], ebx
lea esi, [edi + 1]
cmp dword [esp + 0x28], ebx
je 0x1011e6d7
mov eax, dword [esp + 0x1c]
cmp esi, eax
jae 0x1011e6d7
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x1011e6d7
inc esi
cmp esi, eax
jb 0x1011e6c8
xor ebp, ebp
cmp dword [esp + 0x64], ebx
je 0x1011e71e
cmp dword [esp + 0x80], ebx
mov ebx, dword [esp + 0xe0]
je 0x1011e790
cmp edi, ebx
jae 0x1011e725
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x80]
push edx
lea eax, [esp + 0x88]
push eax
push ebx
push ecx
push edi
call fcn.10126f40
add esp, 0x14
test eax, eax
jne 0x1011e7d9
mov ebx, dword [esp + 0xe0]
cmp dword [esp + 0x4c], 0
mov edi, esi
jne 0x1011e7d9
mov eax, dword [esp + 0x1c]
cmp esi, eax
ja 0x1011e7d9
cmp esi, dword [esp + 0x50]
jbe 0x1011e780
cmp byte [esi - 1], 0xd
jne 0x1011e780
cmp esi, eax
jae 0x1011e780
cmp byte [esi], 0xa
jne 0x1011e780
mov ecx, dword [esp + 0x18]
mov eax, 0x800
test word [ecx + 0xc], ax
jne 0x1011e780
mov eax, dword [esp + 0x80]
cmp eax, 1
je 0x1011e77d
cmp eax, 2
je 0x1011e77d
cmp dword [esp + 0x84], 2
jne 0x1011e780
lea edi, [esi + 1]
mov dword [esp + 0x114], 0
jmp 0x1011e1b2
mov eax, dword [esp + 0x84]
mov edx, ebx
sub edx, eax
cmp edi, edx
ja 0x1011e725
mov cl, byte [edi]
cmp cl, byte [esp + 0x94]
jne 0x1011e725
cmp eax, 1
je 0x1011e7d9
mov dl, byte [edi + 1]
cmp dl, byte [esp + 0x95]
je 0x1011e7d9
jmp 0x1011e725
cmp ebp, 1
je 0x1011e852
cmp ebp, 0xfffffc19
je 0x1011e852
cmp dword [esp + 0x34], 0
je 0x1011e7ee
mov edx, dword [esp + 0x74]
push edx
call dword [0x1017d084]
add esp, 4
test ebp, ebp
je 0x1011e7fb
cmp ebp, 0xfffffff4
jne 0x1011e949
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1011e829
cmp dword [esp + 0x144], 1
jle 0x1011e822
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
sub eax, ecx
mov dword [edx], eax
mov eax, dword [esp + 0x1c]
sub eax, ecx
mov dword [edx + 4], eax
mov eax, 0xfffffff4
jmp 0x1011e82c
or eax, 0xffffffff
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x1011e959
test byte [ecx], 0x20
je 0x1011e959
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x118]
mov dword [ecx], edx
jmp 0x1011e959
cmp dword [esp + 0x34], 0
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
je 0x1011e8a0
cmp edi, 4
mov esi, dword [esp + 0x74]
jl 0x1011e882
lea eax, [edi*4 - 8]
push eax
lea ecx, [esi + 8]
push ecx
lea edx, [ebx + 8]
push edx
call fcn.100d6800
add esp, 0xc
cmp dword [esp + 0xf4], edi
jle 0x1011e896
mov dword [esp + 0xa4], 1
push esi
call dword [0x1017d084]
add esp, 4
cmp dword [esp + 0xa4], 0
mov esi, dword [esp + 0xf4]
je 0x1011e8b9
cmp esi, edi
jl 0x1011e8b9
xor ebp, ebp
jmp 0x1011e8c2
mov eax, esi
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
mov eax, dword [esp + 0x18]
movzx ecx, word [eax + 0x10]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp eax, ecx
jg 0x1011e902
test ebx, ebx
je 0x1011e902
mov edx, dword [esp + 0x144]
lea eax, [ecx + ecx + 2]
cmp eax, edx
jle 0x1011e8ea
mov eax, edx
lea edi, [ebx + esi*4]
lea ecx, [ebx + eax*4]
cmp edi, ecx
jae 0x1011e909
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
jmp 0x1011e909
mov edx, dword [esp + 0x144]
cmp edx, 2
jge 0x1011e912
xor ebp, ebp
jmp 0x1011e930
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe8]
sub ecx, eax
sub edx, eax
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1011e949
test byte [eax], 0x20
je 0x1011e949
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x114]
mov dword [eax], ecx
mov eax, ebp
jmp 0x1011e959
mov eax, 0xffffffe8
jmp 0x1011e959
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x120]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100d5eaf
add esp, 0x114
ret