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

Disassembly:
sub esp, 0x10c
push ebx
push ebp
mov ebp, dword [0x4e73e0]
mov eax, dword [ebp + 0x5bac]
push esi
push edi
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], eax
push ecx
lea eax, [esp + 0x78]
mov dword [esp + 0x20], 0x40000
call fcn.00069e80
lea ebx, [ebp + 0x2380]
lea ecx, [esp + 0x74]
mov edx, ebx
call fcn.00069ea0
lea edx, [esp + 0x1c]
movzx esi, al
push edx
lea eax, [esp + 0x78]
mov dword [esp + 0x20], 0x20000
call fcn.00069e80
lea ecx, [esp + 0x74]
mov edx, ebx
call fcn.00069ea0
mov ebx, dword [ebx]
movzx edi, al
mov eax, ebx
shr eax, 0x12
shr ebx, 0x13
and al, 1
and bl, 1
cmp dword [esp + 0x134], 0
mov byte [esp + 0x13], al
je 0x1f8f11
cmp byte [esp + 0x128], 0
jne 0x1f8f11
mov eax, dword [esp + 0x124]
test eax, eax
je 0x1f8edf
cmp eax, 1
jne 0x1f8f11
mov eax, dword [esp + 0x120]
test dword [eax + 0xa0], 0xfff0
jne 0x1f8f11
mov ebp, eax
lea eax, [ebp + 4]
call fcn.002999c0
xor ecx, ecx
cmp dword [ebp + 0x10], ecx
mov ebp, dword [0x4e73e0]
setne cl
mov dword [esp + 0x124], ecx
mov ebp, dword [ebp + 0x5b28]
cmp ebp, 0x78915466
je 0x1f8f90
cmp ebp, 0x72546873
ja 0x1f8f47
je 0x1f8f4f
cmp ebp, 0x14174657
je 0x1f8f40
cmp ebp, 0x21454235
jne 0x1f8f4f
mov edx, 8
jmp 0x1f8f58
mov edx, 9
jmp 0x1f8f58
cmp ebp, 0x84654446
je 0x1f8f56
mov edx, 1
jmp 0x1f8f58
xor edx, edx
mov ebp, dword [esp + 0x120]
mov eax, dword [ebp + 8]
test eax, eax
je 0x1f8f97
jmp 0x1f8f70
movsx ecx, word [eax + 4]
lea ecx, [ecx + ecx*4]
test byte [ecx*4 + 0x428dec], 4
jne 0x1f8f84
mov byte [eax + 8], dl
mov eax, dword [eax + 0xc4]
test eax, eax
jne 0x1f8f70
jmp 0x1f8f97
mov ebp, dword [esp + 0x120]
mov ecx, dword [esp + 0x13c]
test ecx, ecx
mov dword [ebp + 0x38], 8
je 0x1f8fc3
mov eax, dword [ebp + 4]
cmp eax, 1
mov dword [esp + 0x18], eax
jg 0x1f8fbd
mov dword [esp + 0x18], 1
fild dword [esp + 0x18]
fstp dword [ecx]
mov eax, 0x1e0
call fcn.000690b0
mov ebp, eax
xor eax, eax
cmp ebp, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
je 0x1f99b9
call fcn.0025e8d0
call fcn.000690b0
mov edx, eax
mov dword [esp + 0x1c], eax
call fcn.0025e8c0
push edx
mov edx, ebp
call fcn.00218ed0
mov eax, dword [ebp + 0x94]
mov dword [eax + 0x1c], 9
mov ecx, dword [ebp + 0x94]
xor eax, eax
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 8]
mov dword [ebp + 4], edx
mov edx, dword [ecx + 8]
mov dword [ebp + 8], edx
lea edx, [esp + 0x84]
mov dword [ebp + 0xc], edx
lea edx, [esp + 0x88]
mov dword [ebp + 0x10], edx
mov byte [esp + 0x35], al
mov word [esp + 0x3a], ax
mov word [esp + 0x3e], ax
mov word [esp + 0x42], ax
mov word [esp + 0x46], ax
mov word [esp + 0x4a], ax
mov word [esp + 0x4e], ax
mov word [esp + 0x52], ax
mov word [esp + 0x56], ax
mov word [esp + 0x5a], ax
mov word [esp + 0x5e], ax
mov word [esp + 0x62], ax
mov byte [esp + 0x64], al
mov word [esp + 0x66], ax
mov byte [esp + 0x68], al
mov word [esp + 0x6a], ax
mov byte [esp + 0x6c], al
mov word [esp + 0x72], ax
mov byte [esp + 0x34], 4
mov word [esp + 0x36], 1
mov byte [esp + 0x38], 4
mov byte [esp + 0x39], 1
mov byte [esp + 0x3c], 4
mov byte [esp + 0x3d], 1
mov byte [esp + 0x40], 4
mov byte [esp + 0x41], 1
mov byte [esp + 0x44], 4
mov byte [esp + 0x45], 1
mov byte [esp + 0x48], 4
mov byte [esp + 0x49], 1
mov byte [esp + 0x4c], 4
mov byte [esp + 0x4d], 1
mov byte [esp + 0x50], 4
mov byte [esp + 0x51], 1
mov byte [esp + 0x54], 4
mov byte [esp + 0x55], 1
mov byte [esp + 0x58], 4
mov byte [esp + 0x59], 1
mov byte [esp + 0x5c], 4
mov byte [esp + 0x5d], 1
mov byte [esp + 0x60], 4
mov byte [esp + 0x61], 1
mov byte [esp + 0x65], 1
mov byte [esp + 0x69], 1
mov byte [esp + 0x6d], 1
mov byte [esp + 0x70], 4
mov byte [esp + 0x71], 1
mov edx, 0x10
mov word [esp + 0x6e], dx
mov dword [ebp + 0x14], edx
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], eax
mov eax, dword [esp + 0x124]
lea edx, [esp + 0x34]
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x24], 0x428d50
mov dword [ebp + 0x54], 0x14b740
mov dword [ebp + 0x58], 0x14b720
mov dword [ebp + 0x98], eax
mov edx, dword [ecx + 0xa0]
mov dword [ebp + 0x9c], edx
test byte [ecx + 0xb4], 1
je 0x1f91a6
mov ecx, dword [ecx + 0xa0]
xor eax, eax
test cl, 3
je 0x1f918f
mov eax, 1
test cl, 0xc
je 0x1f9196
or al, 2
mov dword [ebp + 0x9c], eax
mov dword [ebp + 0x98], 1
mov eax, dword [esp + 0x130]
neg bl
mov dword [ebp + 0xa4], eax
mov al, byte [esp + 0x13]
movzx edx, byte [esp + 0x128]
lea ecx, [esp + 0xdc]
sbb ebx, ebx
and ebx, 0x10
neg al
mov dword [ebp + 0xa0], edx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], 0x41200000
mov dword [ebp + 0x64], 0
sbb eax, eax
and eax, 8
or ebx, eax
mov eax, dword [esp + 0x138]
neg edi
sbb edi, edi
and edi, 4
or ebx, edi
neg esi
sbb esi, esi
and esi, 2
or ebx, esi
or ebx, 0x21
mov dword [ebp + 0x3c], ebx
call fcn.00134f20
mov dl, byte [0x3f9e5d]
mov esi, eax
push edx
call fcn.00206ea0
not eax
and eax, 0xffff
mov dword [ebp + 0xcc], eax
mov al, byte [0x3f9e57]
push eax
mov eax, esi
call fcn.00206eb0
mov dword [ebp + 0xd4], eax
mov eax, dword [esp + 0x14]
mov ebx, 1
xor edi, edi
sub eax, ebx
je 0x1f9289
sub eax, ebx
mov dword [ebp + 0x88], edi
mov dword [ebp + 0x84], edi
mov dword [ebp + 0x6c], edi
je 0x1f9275
mov dword [ebp + 0x70], ebx
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x78], ebx
mov dword [ebp + 0x7c], ebx
mov dword [ebp + 0x80], ebx
jmp 0x1f92af
mov dword [ebp + 0x70], edi
mov dword [ebp + 0x74], edi
mov dword [ebp + 0x78], edi
mov dword [ebp + 0x7c], edi
mov dword [ebp + 0x80], edi
jmp 0x1f92af
mov eax, 1
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x70], eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], eax
mov dword [ebp + 0x84], eax
mov dword [ebp + 0x88], eax
cmp dword [esp + 0x134], edi
mov dword [ebp + 0xd8], edi
mov dword [ebp + 0xd0], edi
mov dword [ebp + 0x180], edi
mov dword [ebp + 0x8c], ebx
mov dword [ebp + 0x184], edi
mov dword [ebp + 0x44], 3
je 0x1f9463
mov ecx, dword [0x4e73e0]
mov dword [ebp + 0xb0], 0xbf800000
mov eax, dword [ecx + 0x5b80]
and eax, 3
push eax
mov esi, ebp
call fcn.0029ba90
mov edx, dword [ebp + 0xc]
cmp dword [edx], edi
mov dword [esp + 0x20], eax
je 0x1f9349
mov ebx, dword [esp + 0x120]
mov eax, ebx
call fcn.001f8610
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
cmp esi, edi
je 0x1f9335
mov eax, esi
call fcn.001f87b0
mov esi, dword [esi + 0xc4]
test esi, esi
jne 0x1f9324
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
lea edi, [ebp + 0x54]
call fcn.00215db0
mov ebx, 1
xor edi, edi
mov esi, dword [esp + 0x120]
cmp dword [esi + 0xa0], edi
jne 0x1f9412
cmp byte [esp + 0x128], 0
jne 0x1f9412
cmp byte [esp + 0x12c], 0
jne 0x1f9412
mov ebx, esi
mov eax, ebx
call fcn.001f8610
call fcn.00153e20
mov esi, eax
call fcn.00153e20
mov dword [esp + 0x18], eax
call fcn.00153e20
mov dword [esp + 0x14], eax
call fcn.00153e50
sub esp, 0x20
mov edi, esp
sub esp, 0x20
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x58]
mov edi, esp
sub esp, 0x20
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x74]
mov edi, esp
sub esp, 0x10
mov edx, esp
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push 1
push 0
mov dword [edx + 8], ecx
push ebx
mov dword [edx + 0xc], eax
call fcn.001f8910
mov esi, dword [esp + 0x120]
mov dword [ebp + 0xb8], 1
mov dword [ebp + 0xb0], 0x3f800000
mov ebx, 1
xor edi, edi
cmp dword [esp + 0x20], edi
je 0x1f946a
mov ecx, dword [ebp + 0xb8]
mov eax, dword [esp + 0x138]
mov dword [esi + 0x38], ecx
mov ecx, dword [ebp + 0xd0]
call fcn.001f7270
mov ecx, dword [esp + 0x13c]
cmp ecx, edi
je 0x1f946a
fld dword [ebp + 0xb0]
fcomp dword [0x41bc3c]
fnstsw ax
test ah, 5
jp 0x1f9459
mov dword [ecx], 0x3f800000
jmp 0x1f946a
mov edx, dword [ebp + 0xb0]
mov dword [ecx], edx
jmp 0x1f946a
mov esi, dword [esp + 0x120]
mov eax, dword [esp + 0x138]
call fcn.001f7290
cmp dword [esi + 4], edi
jne 0x1f9502
call fcn.00153e20
mov esi, eax
call fcn.00153e20
mov ebx, eax
call fcn.00153e20
mov dword [esp + 0x20], eax
call fcn.00153e50
mov edx, dword [eax]
sub esp, 0x20
mov edi, esp
sub esp, 0x20
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov edi, esp
sub esp, 0x20
mov ecx, 8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x80]
mov edi, esp
sub esp, 0x10
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
push 1
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x194]
push 0
push ecx
call fcn.001f8910
mov esi, dword [esp + 0x120]
mov ebx, 1
xor edi, edi
cmp dword [esi + 0x38], edi
jne 0x1f9519
mov eax, dword [esi + 4]
cmp eax, 8
jle 0x1f9514
mov eax, 8
mov dword [esi + 0x38], eax
jmp 0x1f9537
cmp dword [esi + 4], ebx
jne 0x1f9537
mov esi, dword [esi + 8]
cmp byte [esi + 0x20], 5
je 0x1f9533
cmp byte [esi + 0x30], 5
je 0x1f9533
cmp byte [esi + 0x40], 5
jne 0x1f9537
mov byte [esi + 8], 1
mov ebx, dword [esp + 0x120]
lea edi, [ebx + 0x3c]
mov eax, edi
mov dword [esp + 0x14], edi
call fcn.00206d40
mov esi, dword [esp + 0x138]
mov eax, esi
call fcn.00153e80
mov dword [esp + 0x20], eax
call fcn.00206d40
xor ecx, ecx
mov eax, esi
call fcn.001f72b0
xor ecx, ecx
mov eax, esi
call fcn.001f72c0
xor ecx, ecx
mov eax, esi
call fcn.001f72e0
xor ecx, ecx
mov eax, esi
call fcn.001f7300
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x1f996d
sub esp, 0x10
mov esi, esp
lea eax, [ebx + 0x40]
mov edi, dword [eax]
mov dword [esi], edi
mov edi, dword [eax + 4]
mov dword [esi + 4], edi
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
sub esp, 0x10
mov eax, esp
lea ecx, [ebx + 0x30]
mov esi, dword [ecx]
mov dword [eax], esi
mov esi, dword [ecx + 4]
mov dword [eax + 4], esi
mov esi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
sub esp, 0x10
mov eax, esp
lea edx, [ebx + 0x20]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
sub esp, 0x10
mov ecx, esp
lea eax, [ebx + 0x10]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
movsx edx, byte [ebx + 6]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0xc]
movsx eax, byte [ebx + 8]
push ecx
movsx ecx, word [ebx + 4]
push edx
push eax
mov eax, dword [esp + 0x16c]
push ecx
lea edx, [esp + 0x15c]
push edx
push eax
call fcn.001f7bc0
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
lea esi, [esp + 0x24]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
call fcn.00206ca0
mov esi, edi
shr esi, 0xd
and esi, 0xf
cmp esi, 4
jb 0x1f96be
cmp esi, 0xb
ja 0x1f96be
movsx eax, word [ebx + 4]
xor edi, edi
lea ecx, [eax + eax*4]
cmp dword [ecx*4 + 0x428de8], edi
jle 0x1f96be
lea eax, [ebx + 0x20]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
cmp byte [edx], 0
jne 0x1f96a6
lea ecx, [esi - 4]
mov eax, 1
shl eax, cl
mov ecx, eax
mov eax, dword [esp + 0x138]
call fcn.001f7310
movsx eax, word [ebx + 4]
add dword [esp + 0x18], 0x10
add edi, 1
lea ecx, [eax + eax*4]
cmp edi, dword [ecx*4 + 0x428de8]
jl 0x1f9685
cmp esi, 2
jne 0x1f9704
movsx eax, word [ebx + 4]
xor esi, esi
lea edx, [eax + eax*4]
cmp dword [edx*4 + 0x428de8], esi
jle 0x1f9704
lea edi, [ebx + 0x20]
cmp byte [edi], 0
jne 0x1f96ee
mov eax, dword [esp + 0x138]
mov ecx, 2
call fcn.001f72d0
movsx eax, word [ebx + 4]
add esi, 1
lea eax, [eax + eax*4]
add edi, 0x10
cmp esi, dword [eax*4 + 0x428de8]
jl 0x1f96d8
movsx eax, word [ebx + 4]
lea ecx, [eax + eax*4]
test byte [ecx*4 + 0x428dec], 4
je 0x1f9775
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x138]
shr esi, 0x11
and esi, 0xf
mov ecx, esi
mov edx, 0x10000
shl edx, cl
mov ecx, edx
call fcn.001f72d0
mov eax, dword [esp + 0x138]
lea edi, [esi + 1]
call fcn.001f7280
cmp eax, edi
jae 0x1f9757
mov eax, dword [esp + 0x138]
mov ecx, edi
call fcn.001f72b0
test byte [esp + 0x25], 0x10
je 0x1f9775
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, eax
mov eax, dword [esp + 0x138]
call fcn.001f72f0
cmp byte [ebx + 0x20], 5
je 0x1f9791
cmp byte [ebx + 0x30], 5
je 0x1f9791
cmp byte [ebx + 0x40], 5
je 0x1f9791
mov byte [esp + 0x13], 0
jmp 0x1f995b
lea edi, [ebx + 0x50]
mov eax, edi
call fcn.002162b0
test eax, eax
je 0x1f97db
xor eax, eax
mov edx, edi
call fcn.00216590
fstp dword [esp + 0x24]
mov eax, 1
call fcn.00216590
fstp dword [esp + 0x28]
mov eax, 2
call fcn.00216590
fstp dword [esp + 0x2c]
mov eax, 3
call fcn.00216590
fstp dword [esp + 0x30]
jmp 0x1f9949
push 0x40800000
push 0x40400000
push 0x40000000
push 0x3f800000
lea eax, [esp + 0xcc]
call fcn.0018f8c0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 0x40800000
mov dword [esp + 0xb0], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0xb4], edx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0xb0]
push 0x40400000
push 0x40000000
mov dword [esp + 0x30], eax
push 0x3f800000
lea eax, [esp + 0x10c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
call fcn.0018f8c0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 0x40800000
mov dword [esp + 0x94], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x94]
push 0x40400000
push 0x40000000
mov dword [esp + 0x34], eax
push 0x3f800000
lea eax, [esp + 0xdc]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
call fcn.0018f8c0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 0x40800000
mov dword [esp + 0xa0], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0xa4], edx
mov edx, dword [eax + 0xc]
push 0x40400000
mov eax, ecx
push 0x40000000
mov dword [esp + 0x38], eax
push 0x3f800000
lea eax, [esp + 0xfc]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
call fcn.0018f8c0
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 8]
mov eax, edx
mov dword [esp + 0x30], eax
mov eax, 0x7c
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
call fcn.000690b0
mov esi, eax
test esi, esi
je 0x1f9995
mov eax, dword [esp + 0x14]
call fcn.00206ce0
push eax
push edi
mov eax, esi
call fcn.001f73b0
mov esi, eax
test esi, esi
je 0x1f9942
mov eax, dword [esp + 0x20]
push esi
call fcn.00206d00
mov eax, esi
call fcn.00069ab0
mov eax, dword [esp + 0x14]
lea esi, [esp + 0x24]
call fcn.00206ca0
mov byte [esp + 0x13], 1
mov ebx, dword [ebx + 0xc4]
test ebx, ebx
jne 0x1f9592
mov edi, dword [esp + 0x14]
mov eax, edi
call fcn.0013d310
mov esi, eax
test esi, esi
je 0x1f99a5
mov eax, edi
call fcn.00206ce0
cmp byte [esp + 0x13], 0
je 0x1f9999
sub eax, 2
shl eax, 4
add eax, esi
or dword [eax], 1
jmp 0x1f99a5
xor esi, esi
jmp 0x1f9942
shl eax, 4
or dword [eax + esi - 0x10], 1
lea esi, [eax + esi - 0x10]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1f99b2
call fcn.00069ab0
mov eax, ebp
call fcn.00069ab0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret 0x20