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

Disassembly:
push ebp
push edi
push esi
mov esi, eax
push ebx
sub esp, 0x4c
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov eax, edx
mov edx, ecx
mov dword [esp + 0x10], edi
movzx edi, word [esp + 0x68]
mov dword [esp + 0x14], ebp
mov word [esp + 0x20], di
movzx edi, word [esp + 0x70]
mov word [esp + 0x32], di
mov edi, esi
mov esi, dword [esi + 4]
mov ecx, dword [edi]
mov ebp, dword [edi + 8]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x6c]
mov edi, dword [ecx]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x1c], edi
mov edi, dword [ecx + 4]
mov dword [esp + 0xc], esi
movzx esi, byte [ebp + 0x10]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x74]
mov edi, dword [edi]
mov dword [esi], 0
mov dword [esp + 8], edi
mov dword [ebp], eax
mov eax, dword [esp + 0x6c]
mov dword [ebp + 4], edx
mov edx, dword [eax + 4]
test edi, edi
jle 0x1119c74
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ebp
xor esi, esi
mov ebp, dword [esp + 8]
mov edi, dword [eax + 0x18]
jmp 0x1119c1a
add esi, 1
add edx, 0xc
cmp ebp, esi
je 0x1119c70
mov eax, dword [edx + 8]
mov ebx, dword [esp + 0x14]
mov byte [edx + 5], 0
mov ecx, dword [esp + 0x10]
lea eax, [eax + eax*2]
not ebx
shl eax, 4
not ecx
add eax, edi
and ebx, dword [eax + 0x24]
and ecx, dword [eax + 0x20]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 4]
mov dword [esp], ecx
or ecx, ebx
jne 0x1119c10
movzx ecx, word [esp + 0x20]
and cx, word [eax + 0xc]
jne 0x1119c10
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x1119ff0
add esi, 1
mov byte [edx + 5], 1
add edx, 0xc
cmp ebp, esi
jne 0x1119c1a
nop
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 8]
sub esp, 4
shl eax, 3
push eax
push 0
push dword [esp + 0x18]
call 0x1184dc8
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x7c]
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x28], 0xa2879f2e
mov dword [eax + 0x2c], 0x546d42ae
mov dword [eax + 0x30], 0x19
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
lea eax, [edi*8]
mov dword [esp + 0x20], eax
add eax, edi
mov edi, dword [esp + 0x34]
lea eax, [edi + eax*8]
mov esi, dword [eax + 0x40]
mov edi, dword [eax + 0x44]
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x40], esi
mov esi, dword [eax + 0x18]
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x44], edi
add esp, 0x10
mov edx, dword [eax]
mov eax, dword [esi + 0x34]
test eax, eax
jne 0x1119d1b
jmp 0x111a491
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1184f76
cmp edx, dword [eax]
jne 0x1119d10
mov ebx, dword [eax + 8]
sub esp, 8
add dword [edx + 0x38], 1
mov eax, dword [ebx]
push dword [esp + 0x74]
push ebx
call dword [eax + 0xc]
mov edi, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov eax, dword [eax]
sub dword [eax + 0x38], 1
test edi, edi
je 0x1119da8
cmp edi, 0x13
je 0x1119da8
cmp edi, 7
je 0x111a1b8
mov eax, dword [ebx + 8]
test eax, eax
je 0x111a150
sub esp, 4
push eax
push 0x142e6dc
push dword [esp + 0x28]
call fcn.010b78f0
add esp, 0x10
mov eax, dword [esi + 0x34]
cmp byte [eax + 0x11], 0
jne 0x111a138
sub esp, 0xc
push dword [ebx + 8]
call fcn.0109f3c0
mov dword [ebx + 8], 0
add esp, 0x10
mov eax, dword [esp]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esi + 0x34]
cmp byte [edx + 0x11], 0
jne 0x111a058
sub esp, 0xc
push dword [ebx + 8]
call fcn.0109f3c0
mov eax, dword [esp + 0x10]
add esp, 0x10
mov dword [ebx + 8], 0
test eax, eax
jne 0x111a111
mov edi, dword [esp + 8]
mov eax, dword [ebp + 0x38]
sub esp, 4
lea edx, [edi*4]
push edx
push 0
push eax
call 0x1184dc8
mov eax, dword [esp + 0x7c]
add esp, 0x10
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x28], 0
mov edx, dword [eax + 4]
test edi, edi
jle 0x111a235
movzx esi, word [esp + 0x32]
mov ecx, 0xffffffff
xor eax, eax
mov edi, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
jmp 0x1119e90
mov ebx, dword [esp + 0x6c]
and dword [ebx + 0x38], 0xfffffffe
mov dword [ebx + 0x20], 0
mov ebx, dword [esp + 0x74]
mov dword [ebx], 1
movzx edx, byte [edx + 0xf]
sub edx, 0x49
cmp dl, 1
jbe 0x1119f72
mov ebx, dword [esp + 0x20]
cmp ebx, esi
cmovge esi, ebx
mov dword [esp + 0x20], esi
lea esi, cs:[esi]
nop
add eax, 1
add edi, 0xc
cmp dword [esp + 8], eax
je 0x111a1d6
mov esi, dword [esp + 0xc]
mov esi, dword [esi + eax*8]
sub esi, 1
js 0x1119e80
mov edx, dword [edi + 8]
cmp dword [esp + 8], esi
jle 0x111a018
test edx, edx
js 0x111a018
mov ebx, dword [esp + 0x18]
cmp dword [ebx + 0xc], edx
jle 0x111a018
mov ecx, dword [ebp + 0x38]
lea ebx, [ecx + esi*4]
mov dword [esp], ebx
mov ebx, dword [ebx]
test ebx, ebx
jne 0x111a018
cmp byte [edi + 5], 0
je 0x111a018
mov ebx, dword [esp + 0x18]
lea edx, [edx + edx*2]
shl edx, 4
add edx, dword [ebx + 0x18]
mov ebx, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
or dword [ebp + 4], ebx
mov ebx, dword [esp]
or dword [ebp], ecx
mov dword [ebx], edx
mov ebx, dword [esp + 0xc]
cmp byte [ebx + eax*8 + 4], 0
je 0x1119f20
movzx ecx, byte [edx + 0xf]
mov byte [esp], cl
cmp eax, 0xf
jle 0x1119fe0
cmp byte [esp], 0x4a
jne 0x1119f20
or byte [ebp + 0x1c], 2
nop
cmp eax, 0x1f
jle 0x1119fb0
test byte [edx + 0xc], 1
jne 0x1119e40
movzx edx, byte [edx + 0xf]
sub edx, 0x49
cmp dl, 1
ja 0x1119e69
mov ebx, dword [esp + 0x74]
mov edx, dword [ebx]
test edx, edx
jne 0x1119f72
test eax, eax
je 0x1119e69
mov ebx, dword [esp + 0xc]
jmp 0x1119f6b
add edx, 1
cmp edx, eax
je 0x111a008
mov ecx, dword [ebx + edx*8]
test ecx, ecx
jg 0x1119f60
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x1c]
test edx, edx
jne 0x111a210
mov eax, dword [esp + 0x78]
mov dword [eax], 1
jmp 0x111a111
mov ebx, 1
mov ecx, esi
shl ebx, cl
or word [ebp + 0x22], bx
cmp byte [esp], 0x4a
jne 0x1119fb0
or byte [ebp + 0x1c], 2
lea esi, cs:[esi]
nop
mov ecx, eax
mov ebx, 1
shl ebx, cl
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
and ecx, dword [ebx + 0x58]
je 0x1119f29
mov ebx, 1
mov ecx, esi
shl ebx, cl
or dword [ebp + 0x28], ebx
jmp 0x1119f33
mov ebx, dword [esp + 0x2c]
bt ebx, eax
jae 0x1119f90
cmp cl, 0x4a
jne 0x1119fb0
jmp 0x1119fa3
movzx eax, byte [eax + 0xf]
sub eax, 0x49
cmp al, 1
ja 0x1119c61
jmp 0x1119c10
mov dword [esp + 0xc], ebx
jmp 0x1119e69
sub esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
add eax, esi
mov edi, dword [esp + 0x28]
mov eax, dword [edi + eax*8 + 0x18]
push dword [eax]
push 0x1430857
push dword [esp + 0x28]
call fcn.010b78f0
add esp, 0x10
mov dword [esp], 1
mov eax, dword [esp]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x1119db5
mov dword [esp + 0x20], ebp
xor ecx, ecx
mov edi, 1
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
lea esi, cs:[esi]
nop
mov eax, dword [ebx + 0x80]
mov ebp, edi
test eax, eax
cmove eax, ebx
shl ebp, cl
mov edx, dword [eax + 0x5c]
test edx, ebp
jne 0x111a0a4
or edx, ebp
mov dword [eax + 0x5c], edx
cmp ecx, 1
je 0x111a120
add ecx, 1
cmp ecx, esi
jne 0x111a080
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov edi, dword [eax + 0x58]
test edi, edi
je 0x111a0e6
xor edi, edi
mov dword [esp + 0x20], ebx
mov ebx, edi
mov edi, esi
mov esi, eax
lea esi, [esi]
mov ecx, ebx
xor edx, edx
mov eax, esi
add ebx, 1
call fcn.01119b10
cmp ebx, edi
jne 0x111a0d0
mov ebx, dword [esp + 0x20]
sub esp, 0xc
push dword [ebx + 8]
call fcn.0109f3c0
mov eax, dword [esp + 0x10]
add esp, 0x10
mov dword [ebx + 8], 0
test eax, eax
je 0x1119dd6
cmp dword [esp], 0x13
jne 0x1119d9a
mov dword [esp], 0
jmp 0x1119d9a
mov dword [esp + 0x38], ecx
call fcn.011196d0
mov ecx, dword [esp + 0x38]
jmp 0x111a0a4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov esi, dword [eax + 0x14]
test esi, esi
jg 0x111a063
jmp 0x1119d85
mov eax, dword [esp]
mov edx, 0x142d0bc
cmp eax, 0x65
je 0x111a198
mov edx, 0x142d090
cmp eax, 0x204
je 0x111a198
mov edx, 0x142d0a6
cmp eax, 0x64
je 0x111a198
movzx eax, al
mov edx, 0x142d0d3
cmp eax, 0x1c
jg 0x111a198
mov edx, dword [eax*4 + 0x1438260]
mov eax, 0x142d0d3
test edx, edx
cmove edx, eax
lea esi, [esi]
sub esp, 4
push edx
push 0x142e6dc
push dword [esp + 0x28]
call fcn.010b78f0
add esp, 0x10
jmp 0x1119d78
cmp byte [eax + 0x57], 0
jne 0x1119d78
cmp byte [eax + 0x58], 0
jne 0x1119d78
call fcn.010b7980
jmp 0x1119d78
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov word [ebp + 0x30], ax
test ecx, ecx
js 0x111a23b
mov edx, dword [ebp + 0x38]
xor eax, eax
jmp 0x111a1f7
add eax, 1
cmp ecx, eax
jl 0x111a23b
mov edi, dword [edx + eax*4]
test edi, edi
jne 0x111a1f0
sub esp, 4
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add eax, edi
jmp 0x111a025
sub esp, 0xc
push dword [eax + 0x18]
call fcn.0109f3c0
mov eax, dword [esp + 0x7c]
add esp, 0x10
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
jmp 0x1119f81
xor eax, eax
mov word [ebp + 0x30], ax
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x6c]
mov eax, dword [eax + 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
movzx eax, byte [ebp + 0x1c]
movzx edx, byte [esp]
and eax, 0xfffffffe
and edx, 1
or eax, edx
mov byte [ebp + 0x1c], al
mov eax, dword [esp + 0x6c]
mov esi, dword [edi + 0x20]
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0x18]
mov dword [ebp + 0x24], eax
xor eax, eax
test esi, esi
je 0x111a284
movzx eax, byte [edi + 8]
mov byte [ebp + 0x20], al
mov eax, dword [esp + 0x6c]
xor ebx, ebx
mov word [ebp + 0x12], bx
xor ebx, ebx
fld qword [eax + 0x28]
fst qword [esp]
fld1
fcompi st(1)
jae 0x111a2c4
fld dword [0x143e848]
fcompi st(1)
jae 0x111a3a3
fstp st(0)
mov edx, dword [esp + 4]
mov eax, edx
shr eax, 0x14
sub ax, 0x3fe
lea eax, [eax + eax*4]
lea ebx, [eax + eax]
jmp 0x111a2c6
fstp st(0)
mov eax, dword [esp + 0x6c]
xor ecx, ecx
mov word [ebp + 0x14], bx
mov ebx, 7
mov edi, ecx
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
cmp ebx, eax
sbb edi, edx
jb 0x111a373
mov ebx, 1
cmp ebx, eax
mov ebx, 0
sbb ecx, edx
jae 0x111a327
mov ecx, 0x1e
xor edi, edi
nop
shld edx, eax, 1
mov esi, 7
add eax, eax
mov ebx, ecx
sub ecx, 0xa
cmp esi, eax
mov esi, edi
sbb esi, edx
jae 0x111a300
and eax, 7
movzx eax, word [eax + eax + 0x1438044]
lea ebx, [ebx + eax - 0xa]
mov eax, dword [ebp + 0x2c]
mov edi, dword [esp + 0x6c]
mov word [ebp + 0x16], bx
mov edx, eax
and ah, 0xef
or dh, 0x10
test byte [edi + 0x38], 1
cmovne eax, edx
mov edx, ebp
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x34]
call fcn.010b8270
mov dword [esp], eax
test byte [ebp + 0x1c], 1
je 0x1119d9a
sub esp, 0xc
push dword [ebp + 0x24]
call fcn.0109f3c0
and byte [ebp + 0x1c], 0xfe
add esp, 0x10
jmp 0x1119d9a
test edx, edx
je 0x111a398
bsr ebx, edx
xor ebx, 0x1f
mov ecx, 0x3c
sub ecx, ebx
shrd eax, edx, cl
lea ebx, [ecx + ecx*4]
shr edx, cl
and ecx, 0x20
cmovne eax, edx
lea ebx, [ebx + ebx + 0x28]
jmp 0x111a318
bsr ebx, eax
xor ebx, 0x1f
add ebx, 0x20
jmp 0x111a37d
fld dword [0x143e6fc]
fxch st(1)
fcomi st(1)
jae 0x111a453
fstp st(1)
fnstcw word [esp + 0x3e]
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp qword [esp]
fldcw word [esp + 0x3e]
mov eax, dword [esp]
mov edx, dword [esp + 4]
xor ecx, ecx
mov ebx, 7
cmp ebx, eax
mov edi, ecx
sbb edi, edx
jb 0x111a42e
mov ebx, 1
cmp ebx, eax
mov ebx, 0
sbb ecx, edx
jae 0x111a2c6
mov esi, 0x1e
xor edi, edi
shld edx, eax, 1
mov ecx, 7
add eax, eax
mov ebx, esi
sub esi, 0xa
cmp ecx, eax
mov ecx, edi
sbb ecx, edx
jae 0x111a402
and eax, 7
movzx eax, word [eax + eax + 0x1438044]
lea ebx, [ebx + eax - 0xa]
jmp 0x111a2c6
test edx, edx
je 0x111a486
bsr ebx, edx
xor ebx, 0x1f
mov ecx, 0x3c
sub ecx, ebx
shrd eax, edx, cl
lea ebx, [ecx + ecx*4]
shr edx, cl
and ecx, 0x20
cmovne eax, edx
lea ebx, [ebx + ebx + 0x28]
jmp 0x111a41a
fstp st(0)
fnstcw word [esp + 0x3e]
fsubr qword [esp]
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp qword [esp]
fldcw word [esp + 0x3e]
mov edx, dword [esp + 4]
mov eax, dword [esp]
add edx, 0x80000000
jmp 0x111a3d8
bsr ebx, eax
xor ebx, 0x1f
add ebx, 0x20
jmp 0x111a438
jmp 0x1184f76