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

Disassembly:
mov edx, dword [esi]
test edx, edx
je 0x10ea94e
mov eax, dword [esp + 0x130]
call fcn.010b3350
test eax, eax
jne 0x10ea956
add esi, 0x14
sub ebp, 1
jne 0x10ea938
test edi, edi
jne 0x10ec1f4
mov eax, 1
jmp 0x10ea63c
mov esi, dword [eax + 0x14]
test esi, esi
je 0x10ebf6d
mov edi, dword [esi]
add esi, 8
test edi, edi
jle 0x10ebf6d
mov edx, dword [esi]
test edx, edx
je 0x10ebf65
mov eax, dword [esp + 0x130]
call fcn.010b3350
test eax, eax
jne 0x10ebf6d
add esi, 0x14
sub edi, 1
jne 0x10ebf4f
test ebx, ebx
je 0x10ec508
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
cmp byte [eax + 0xdc], 1
ja 0x10ec008
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx]
test eax, eax
je 0x10ec40e
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x48]
test ecx, ecx
je 0x10ebfb0
cmp byte [ebx + 0x10], 0
je 0x10ec0af
mov eax, dword [esp + 0x24]
mov ecx, esi
mov edx, ebx
call fcn.010d5e50
movzx eax, byte [ebx + 0x10]
cmp al, 0x59
je 0x10ec423
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 8]
mov eax, dword [edi]
test byte [esi + 6], 1
je 0x10ebff7
mov ebp, dword [ebx + 0x28]
test ebp, ebp
je 0x10ec462
sub esp, 8
push 0x142f70c
push edi
call fcn.010b78f0
mov eax, dword [edi]
add esp, 0x10
mov esi, dword [esp + 8]
mov dword [ebx + 0x2c], esi
cmp byte [eax + 0x57], 0
jne case.default.0x10ea72e
mov esi, dword [ebx + 8]
test esi, esi
je 0x10ec036
mov edi, dword [esi]
add esi, 8
test edi, edi
jle 0x10ec036
mov edx, dword [esi]
test edx, edx
je 0x10ec02e
mov eax, dword [esp + 0x130]
call fcn.010b3350
test eax, eax
jne 0x10ec036
add esi, 0x14
sub edi, 1
jne 0x10ec018
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x10ec064
mov edi, dword [esi]
add esi, 8
test edi, edi
jle 0x10ec064
mov edx, dword [esi]
test edx, edx
je 0x10ec05c
mov eax, dword [esp + 0x130]
call fcn.010b3350
test eax, eax
jne 0x10ec064
add esi, 0x14
sub edi, 1
jne 0x10ec046
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x10ec077
mov eax, dword [esp + 0x130]
call fcn.010b3350
mov eax, dword [esp + 0x10]
mov edx, ebx
call fcn.010e6430
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x18]
mov dword [esp + 8], eax
or ah, 0x80
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
and edx, 0x4001
or eax, edx
mov dword [esi + 0x18], eax
jmp 0x10ea95e
mov ecx, dword [esp + 0x18]
mov esi, dword [esi + 0x24]
test esi, esi
je 0x10ec8a8
mov dword [esp + 0x18], ecx
mov edx, dword [esi]
mov eax, ecx
jmp 0x10ec0dd
movzx ecx, byte [ebp + 0x143e140]
cmp byte [edi + 0x143e140], cl
jne 0x10ec0a8
add edx, 1
add eax, 1
movzx edi, byte [edx]
movzx ebp, byte [eax]
cmp edi, ebp
jne 0x10ec0c8
test edi, edi
jne 0x10ec0d7
mov edi, dword [esp + 0x24]
mov edx, dword [esi + 8]
xor ecx, ecx
mov eax, dword [edi]
call fcn.010bb790
mov edx, dword [esi + 0xc]
xor ecx, ecx
mov dword [ebx + 8], eax
mov eax, dword [edi]
call fcn.010bb790
mov edx, dword [esi + 0x18]
mov dword [ebx + 0xc], eax
test edx, edx
je 0x10ec12b
mov eax, dword [esp + 0x24]
sub esp, 0xc
xor ecx, ecx
mov eax, dword [eax]
push 0
call fcn.010bb290
add esp, 0x10
mov edx, eax
mov dword [ebx + 0x18], edx
mov edx, dword [esi + 0x1c]
test edx, edx
je 0x10ec14c
mov eax, dword [esp + 0x24]
sub esp, 0xc
xor ecx, ecx
mov eax, dword [eax]
push 0
call fcn.010bb290
add esp, 0x10
mov edx, eax
mov dword [ebx + 0x1c], edx
movzx edx, word [esi + 0x10]
movzx eax, byte [esi + 0x12]
mov byte [ebx + 0x12], al
movzx eax, byte [esi + 0x10]
mov word [ebx + 0x10], dx
movzx edx, byte [esi + 0x14]
mov byte [ebx + 0x14], dl
jmp 0x10ebfc1
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10ebf6d
jmp 0x10ebf3f
test ecx, ecx
je 0x10ec41c
cmp byte [ebx + 0x10], 0
je 0x10ec8a8
xor esi, esi
jmp 0x10ebfb0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10ec456
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10ec43a
cmp dword [eax], 1
je 0x10ebfc9
sub esp, 8
push 0x142f6c4
mov edi, dword [esp + 0x30]
push edi
call fcn.010b78f0
mov eax, dword [edi]
add esp, 0x10
jmp 0x10ebff7
mov eax, dword [ebx + 0x1c]
test eax, eax
jne 0x10ec42a
jmp 0x10ebfc9
lea ebp, [esp + 0x90]
mov esi, 0x11b8900
mov ecx, 0x20
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x20]
xor esi, esi
jmp 0x10ec48e
add esi, 1
cmp esi, 8
je 0x10ebff7
mov ecx, esi
shl ecx, 4
cmp edx, dword [ebp + ecx]
jne 0x10ec482
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x10ec4ad
mov dword [esp + 0x18], eax
call fcn.010adc60
mov eax, dword [esp + 0x18]
mov edx, dword [ebx + 0x1c]
test edx, edx
je 0x10ec4c1
mov dword [esp + 0x18], eax
call fcn.010adc60
mov eax, dword [esp + 0x18]
shl esi, 4
xor edi, edi
mov edx, dword [esp + esi + 0x94]
mov dword [ebx + 0x18], edi
mov dword [ebx + 0x1c], edi
mov byte [ebx + 0x10], dl
mov edx, dword [esp + esi + 0x98]
mov byte [ebx + 0x11], dl
mov ecx, dword [esp + esi + 0x9c]
mov byte [ebx + 0x14], 0
mov byte [ebx + 0x12], cl
cmp dl, 0x56
je 0x10ec6eb
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
jmp 0x10ebff7
mov eax, dword [esp + 0x134]
mov byte [eax], 0xa8
mov byte [eax + 2], 0
test byte [eax + 7], 1
je 0x10ec532
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x10ec532
mov eax, dword [esp + 0x130]
call fcn.010b3350
mov edi, dword [esp + 0x3c]
lea ebp, [esp + 0x90]
mov edx, dword [edi + 4]
xor eax, eax
mov dword [ebp + eax], 0
mov dword [ebp + eax + 4], 0
add eax, 8
cmp eax, 0x18
jb 0x10ec542
mov dword [esp + 0x80], 0
lea eax, [esp + 0x78]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add byte [eax], al
add byte [eax], al
mov dword [esp + 0x8c], 0
mov eax, dword [eax]
mov dword [esp + 0x94], 0x109f480
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x98], 0x10c5340
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x9c], 0x10997b0
test ebx, ebx
je 0x10ec5f0
mov esi, dword [ebx]
add ebx, 8
test esi, esi
jle 0x10ec5f0
mov edx, dword [ebx]
test edx, edx
je 0x10ec5e8
mov eax, ebp
call fcn.010b3350
test eax, eax
jne 0x10ec5f0
add ebx, 0x14
sub esi, 1
jne 0x10ec5d7
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10ec627
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x10ec627
mov esi, dword [ebx]
add ebx, 8
test esi, esi
jle 0x10ec627
mov edx, dword [ebx]
test edx, edx
je 0x10ec61f
mov eax, ebp
call fcn.010b3350
test eax, eax
jne 0x10ec627
add ebx, 0x14
sub esi, 1
jne 0x10ec60e
mov eax, dword [esp + 0x134]
test byte [eax + 7], 1
je 0x10ec64c
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x10ec64c
mov eax, ebp
call fcn.010b3350
mov edx, dword [esp + 0x88]
test edx, edx
je 0x10ec662
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
call fcn.010a8980
movzx eax, word [esp + 0xa4]
test al, 1
jne 0x10ec673
test ax, ax
jne 0x10ec6b3
mov esi, dword [esp + 8]
test esi, esi
setne al
test al, al
je 0x10ec6a7
mov esi, dword [esp + 0x134]
mov eax, dword [edi + 0x1c]
add byte [esi + 2], al
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
xor eax, 0x8000000
and eax, 0x8001000
or eax, dword [edi + 0x18]
or eax, 0x10
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x18]
jmp 0x10ec090
mov eax, dword [esp + 0x134]
mov edx, dword [edi + 0x1c]
mov esi, dword [esp + 0x134]
movzx eax, byte [eax + 2]
lea eax, [eax + edx + 1]
mov byte [esi + 2], al
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x10ec53d
jmp 0x10ec6a7
mov dword [esp + 0x78], 0x142dfbc
sub esp, 0xc
mov edx, 0x9b
mov dword [esp + 0x88], 1
push 0
lea ecx, [esp + 0x88]
call fcn.010b8620
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x34]
add esp, 0x10
mov eax, dword [eax]
jmp 0x10ebff7
xor edi, edi
add esi, 8
test ebp, ebp
jg 0x10ea938
jmp 0x10ea95e
push eax
push ecx
push 0x142e62b
mov edi, dword [esp + 0x30]
push edi
call fcn.010b78f0
mov eax, dword [edi]
add esp, 0x10
jmp 0x10ebffe
push ebp
push edi
mov edi, eax
push esi
push ebx
sub esp, 0xdc
mov ecx, dword [edi + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [edi]
mov dword [esp + 0x20], eax
movzx eax, byte [eax + 0x54]
mov byte [esp + 0x3f], al
mov eax, dword [edi + 0x58]
mov dword [esp + 0x24], eax
test ecx, ecx
jne 0x11379d0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov edx, dword [eax + 0x16c]
test edx, edx
je 0x113758a
mov ecx, dword [eax + 0x174]
mov eax, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x2c], 0
mov eax, dword [eax + 0xb4]
div ecx
sub ecx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x24], 7
je 0x1137970
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x38], 0
lea edi, [eax + 0x120]
mov dword [ecx + 0x3c], 0
mov dword [esp + 0x48], edi
mov dword [eax + 0x1c0], 0
mov eax, dword [eax + 0x120]
test eax, eax
jne 0x1137638
mov eax, dword [ecx + 0x20]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x68], 0
mov dword [esp + 8], 0
lea eax, [eax + eax*4]
mov dword [esp + 0xc], 0
lea eax, [edi + eax*4]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x10], eax
mov byte [esp + 0x3e], 0
mov dword [esp + 0x18], 0
lea esi, [esi]
mov eax, dword [esp + 0x10]
add dword [esp + 8], 1
adc dword [esp + 0xc], 0
movzx ebx, byte [eax]
cmp bl, 0xb8
ja case.default.0x113762d
movzx esi, bl
jmp dword [esi*4 + 0x1431478]
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0
xor edi, edi
xor ebx, ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov byte [esp + 0x3e], 0
mov dword [esp + 0x18], 9
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x57], 0
jne 0x113774d
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x113d429
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esi + 0x24], ebp
mov edx, ebp
call fcn.0109fba0
sub esp, 0xc
push dword [esi + 0x7c]
push dword [esi + 0xc8]
push ebx
push 0x1431458
push ebp
call fcn.010d83d0
add esp, 0x20
cmp byte [esi + 0x97], 2
je 0x113871d
cmp dword [esp + 0x18], 0xc0a
je 0x1138734
cmp dword [esp + 0x18], 0xb
jne 0x113779e
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x55], 0
jne 0x113779e
or dword [eax + 0x24], 2
cmp byte [esp + 0x3e], 0
je 0x11377a9
lea esi, [esi]
movzx edx, byte [esp + 0x3e]
mov eax, dword [esp + 0x20]
sub edx, 1
call fcn.010ae6a0
jmp 0x11377a9
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], 0xffffffff
mov edi, ebx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x18], 9
movzx eax, byte [eax + 0x57]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
sub ebx, ecx
sar ebx, 2
imul ebx, ebx, 0xcccccccd
test al, al
je 0x113d3dd
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x113c898
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, 7
mov dword [esi + 0x24], 7
call fcn.0109fba0
sub esp, 0xc
push dword [esi + 0x7c]
push dword [esi + 0xc8]
push ebx
push 0x1431458
push 7
call fcn.010d83d0
add esp, 0x20
cmp byte [esi + 0x97], 2
je 0x1138715
cmp byte [esp + 0x3e], 0
jne 0x11376f8
mov ebx, edi
mov dword [esp + 0x18], 1
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
jmp 0x11377f1
mov eax, dword [ebp + 0x16c]
test eax, eax
je 0x1137801
add esi, dword [ebp + 0x174]
adc edi, 0
sub esp, 0xc
push dword [ebp + 0x170]
call eax
add esp, 0x10
test eax, eax
jne 0x1137710
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
cmp eax, esi
mov eax, edx
sbb eax, edi
jae 0x11377c8
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xa0]
add dword [eax + 0xb4], ebx
test esi, esi
jne 0x11379e0
mov eax, dword [esp + 0x18]
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
add dword [esp + 0x10], 0x14
jmp 0x1137610
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0
xor edi, edi
xor ebx, ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov byte [esp + 0x3e], 0
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x57], 0
jne 0x11379a6
cmp byte [eax + 0x58], 0
jne 0x11379a6
call fcn.010b7980
sub esp, 8
push 0x142d760
push dword [esp + 0x20]
call fcn.010d6660
add esp, 0x10
mov dword [esp + 0x18], 7
jmp 0x1137661
mov eax, edi
call fcn.010a9af0
jmp 0x113754a
call fcn.010a97c0
mov eax, dword [esp + 0x18]
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x18], 7
mov eax, dword [esp + 0x14]
call fcn.01113a40
cmp dword [esp + 0x18], 0xc0a
jne 0x11376ca
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x57], 0
jne 0x113779e
cmp byte [eax + 0x58], 0
jne 0x113779e
call fcn.010b7980
jmp 0x113779e
mov dword [esp + 0x18], 7
mov eax, 0x142d760
sub esp, 4
push eax
push 0x142e6dc
mov esi, dword [esp + 0x20]
push esi
call fcn.010d6660
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esi + 0x24], ebp
mov edx, ebp
call fcn.0109fba0
pop eax
push dword [esi + 0x7c]
push dword [esi + 0xc8]
push ebx
push 0x1431458
push ebp
call fcn.010d83d0
add esp, 0x20
cmp byte [esi + 0x97], 2
jne 0x11376ca
jmp 0x113871d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x7c]
test eax, eax
jne 0x113767e
mov ecx, dword [esp + 0x18]
cmp ecx, 0xc0a
je 0x113de95
mov eax, 0x142d0bc
cmp ecx, 0x65
je 0x113c8a5
mov eax, 0x142d090
cmp ecx, 0x204
je 0x113c8a5
mov eax, 0x142d0a6
cmp ecx, 0x64
je 0x113c8a5
movzx edx, byte [esp + 0x18]
mov eax, 0x142d0d3
cmp edx, 0x1c
jg 0x113c8a5
mov eax, dword [edx*4 + 0x1438260]
test eax, eax
jne 0x113c8a5
mov eax, 0x142d0d3
jmp 0x113c8a5
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, 0xc0a
mov dword [esi + 0x24], 0xc0a
call fcn.0109fba0
sub esp, 0xc
push dword [esi + 0x7c]
push dword [esi + 0xc8]
push ebx
push 0x1431458
push 0xc0a
call fcn.010d83d0
add esp, 0x20
cmp byte [esi + 0x97], 2
jne 0x1138734
jmp 0x113871d