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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
xor eax, eax
mov dword [ebp - 0x24], edx
inc eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
push esi
push edi
test ecx, ecx
je 0x10150923
mov edi, dword [ecx + 0x30]
lea eax, [edi + ecx]
neg edi
sbb edi, edi
and edi, eax
je 0x10150923
mov ebx, dword [ecx + 0x2c]
lea eax, [ebx + ecx]
neg ebx
sbb ebx, ebx
and ebx, eax
je 0x10150923
cmp dword [ebx + 0x74], 0
je 0x1014f73f
cmp dword [ebx + 0x78], 0xffffffff
jne 0x1014f73f
mov esi, dword [0x101c33f0]
cmp esi, 0x101c33f0
je 0x1014f738
test byte [esi + 0x44], 8
je 0x1014f738
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0xa
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x1014f745
mov esi, dword [0x101c33f0]
push 6
lea edx, [ebp - 0x14]
call fcn.10147fe5
test eax, eax
je 0x1014f783
cmp dword [edi + 0xa8], 0xffffffff
jne 0x1014f783
cmp esi, 0x101c33f0
je 0x1014f783
test byte [esi + 0x44], 8
je 0x1014f783
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0xb
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 8]
mov eax, dword [edx + ecx + 0x24]
cmp eax, 0xffffffff
je 0x1014f79d
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
jne 0x1014f7c5
mov eax, dword [edx + ecx + 0x28]
cmp eax, 0xffffffff
je 0x1014f7b1
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
jne 0x1014f7c5
mov eax, dword [edx + ecx + 0x2c]
cmp eax, 0xffffffff
je 0x1014f800
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
je 0x1014f800
cmp dword [edi + 0xd8], 1
jg 0x1014f800
cmp esi, 0x101c33f0
je 0x1014f7f5
test byte [esi + 0x44], 8
je 0x1014f7f5
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0xc
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ecx, dword [edi + 0x60]
xor edx, edx
mov dword [ebp - 4], edx
mov edx, dword [edi + 8]
mov eax, dword [edx + ecx + 0x30]
cmp eax, 0xffffffff
je 0x1014f814
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
jne 0x1014f83c
mov eax, dword [edx + ecx + 0x34]
cmp eax, 0xffffffff
je 0x1014f828
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
jne 0x1014f83c
mov eax, dword [edx + ecx + 0x38]
cmp eax, 0xffffffff
je 0x1014f871
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
je 0x1014f871
cmp dword [edi + 0xdc], 1
jg 0x1014f871
cmp esi, 0x101c33f0
je 0x1014f86c
test byte [esi + 0x44], 8
je 0x1014f86c
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0xd
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor edx, edx
mov dword [ebp - 4], edx
cmp dword [edi + 0x144], 0xffffffff
je 0x1014f8aa
cmp dword [edi + 0x148], 0
jne 0x1014f8aa
cmp esi, 0x101c33f0
je 0x1014f8aa
test byte [esi + 0x44], 8
je 0x1014f8aa
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0xe
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 8]
mov eax, dword [ecx + edx + 0x5c]
cmp eax, 0xffffffff
je 0x1014f8ec
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
je 0x1014f8ec
mov eax, dword [ecx + edx + 0x60]
cmp eax, 0xffffffff
je 0x1014f8ec
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
je 0x1014f8ec
mov eax, dword [ecx + edx + 0x64]
cmp eax, 0xffffffff
je 0x1014f8ec
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
jne 0x1014f918
cmp esi, 0x101c33f0
je 0x1014f913
test byte [esi + 0x44], 8
je 0x1014f913
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0xf
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor edx, edx
mov dword [ebp - 4], edx
mov eax, dword [edi + 0x6c]
cdq
idiv dword [edi + 0xd8]
test edx, edx
je 0x1014f952
cmp esi, 0x101c33f0
je 0x1014f94d
test byte [esi + 0x44], 8
je 0x1014f94d
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x10
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor edx, edx
mov dword [ebp - 4], edx
mov eax, dword [edi + 0x70]
mov ecx, dword [edi + 0xdc]
cdq
idiv ecx
test edx, edx
je 0x1014f994
cmp esi, 0x101c33f0
je 0x1014f98f
test byte [esi + 0x44], 8
je 0x1014f98f
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x11
pop ecx
call fcn.1004a045
mov ecx, dword [edi + 0xdc]
mov esi, dword [0x101c33f0]
xor edx, edx
mov dword [ebp - 4], edx
xor eax, eax
inc eax
cmp dword [edi + 0xd8], eax
jle 0x1014f9b1
mov eax, dword [edi + 0x6c]
cdq
idiv dword [edi + 0xd8]
mov dword [ebp - 0x18], eax
xor eax, eax
inc eax
jmp 0x1014f9b4
mov dword [ebp - 0x18], eax
cmp ecx, eax
jle 0x1014f9be
mov eax, dword [edi + 0x70]
cdq
idiv ecx
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x28], eax
je 0x10150902
test eax, eax
je 0x10150902
mov eax, dword [ebx + 0x12c]
test eax, eax
jne 0x1014faf9
cmp dword [ebx + 0x130], eax
jne 0x1014fb11
mov ebx, dword [ebp - 4]
cmp dword [edi + 0xd0], 0x80000000
jne 0x1014fa42
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0x2c]
cmp eax, 0xffffffff
je 0x1014fa16
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
jne 0x1014fa42
cmp esi, 0x101c33f0
je 0x1014fa3d
test byte [esi + 0x44], 8
je 0x1014fa3d
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x14
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [edi + 0xd4], 0x80000000
jne 0x1014fa94
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0x38]
cmp eax, 0xffffffff
je 0x1014fa68
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
jne 0x1014fa94
cmp esi, 0x101c33f0
je 0x1014fa8f
test byte [esi + 0x44], 8
je 0x1014fa8f
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x15
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [edi + 0x7c], 2
je 0x1014fae3
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xd8]
cmp eax, 0xffffffff
je 0x1014fab7
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
jne 0x1014fae3
cmp esi, 0x101c33f0
je 0x1014fade
test byte [esi + 0x44], 8
je 0x1014fade
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x16
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [edx + eax + 0xfc]
cmp eax, 0xffffffff
jne 0x1014fb46
xor eax, eax
jmp 0x1014fb4f
cmp eax, 4
jb 0x1014fb11
mov ecx, dword [ebx + 0x130]
cmp ecx, 0xf
ja 0x1014fb11
cmp eax, ecx
jbe 0x1014f9ed
cmp esi, 0x101c33f0
je 0x1014fb3c
test byte [esi + 0x44], 8
je 0x1014fb3c
push 0xf
push 4
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x13
pop ecx
call fcn.1004a2f5
mov esi, dword [0x101c33f0]
xor ebx, ebx
mov dword [ebp - 4], ebx
jmp 0x1014f9f0
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
xor ecx, ecx
test eax, eax
mov eax, dword [edi + 8]
setne cl
mov eax, dword [edx + eax + 0x100]
cmp eax, 0xffffffff
je 0x1014fb71
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
je 0x1014fb71
inc ecx
mov eax, dword [edi + 8]
mov eax, dword [edx + eax + 0x104]
cmp eax, 0xffffffff
je 0x1014fb8c
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
je 0x1014fb8c
inc ecx
test ecx, ecx
je 0x1014fbc5
cmp ecx, 3
je 0x1014fd36
cmp esi, 0x101c33f0
je 0x1014fbc0
test byte [esi + 0x44], 8
je 0x1014fbc0
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x17
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor edx, edx
mov dword [ebp - 4], edx
or ebx, 0xffffffff
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 8]
mov eax, dword [edx + ecx + 0x11c]
cmp eax, ebx
je 0x1014fc41
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
je 0x1014fc41
mov eax, dword [edx + ecx + 0x120]
cmp eax, ebx
je 0x1014fbfa
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
jne 0x1014fc41
mov eax, dword [edx + ecx + 0x154]
cmp eax, ebx
je 0x1014fc10
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
jne 0x1014fc41
cmp esi, 0x101c33f0
je 0x1014fc3d
test byte [esi + 0x44], 8
je 0x1014fc3d
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x19
pop ecx
call fcn.1004a045
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 8]
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
mov eax, dword [edx + ecx + 0x124]
cmp eax, ebx
je 0x1014fcb4
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
je 0x1014fcb4
mov eax, dword [edx + ecx + 0x128]
cmp eax, ebx
je 0x1014fc6d
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
jne 0x1014fcb4
mov eax, dword [edx + ecx + 0x154]
cmp eax, ebx
je 0x1014fc83
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
jne 0x1014fcb4
cmp esi, 0x101c33f0
je 0x1014fcb0
test byte [esi + 0x44], 8
je 0x1014fcb0
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x1a
pop ecx
call fcn.1004a045
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 8]
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
mov eax, dword [ecx + edx + 0x12c]
cmp eax, ebx
je 0x1014fd27
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
je 0x1014fd27
mov eax, dword [ecx + edx + 0x130]
cmp eax, ebx
je 0x1014fce0
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
jne 0x1014fd27
mov eax, dword [ecx + edx + 0x154]
cmp eax, ebx
je 0x1014fcf6
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, dword [edi + 0x5c]
jne 0x1014fd27
cmp esi, 0x101c33f0
je 0x1014fd23
test byte [esi + 0x44], 8
je 0x1014fd23
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x1b
pop ecx
call fcn.1004a045
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 8]
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
mov eax, dword [ecx + edx + 0x134]
cmp eax, ebx
jne 0x1014fd79
xor eax, eax
jmp 0x1014fd82
mov dword [ebp - 4], ebx
or ebx, 0xffffffff
cmp dword [edi + 0x17c], ebx
jne 0x1014fbc8
cmp esi, 0x101c33f0
je 0x1014fd6f
test byte [esi + 0x44], 8
je 0x1014fd6f
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x18
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x1014fbc8
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
xor ebx, ebx
test eax, eax
mov eax, dword [ecx + edx + 0x138]
setne bl
mov dword [ebp - 0x10], ebx
cmp eax, 0xffffffff
je 0x1014fda4
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
je 0x1014fda7
inc ebx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0
mov eax, edx
mov ebx, ecx
mov dword [ebp - 8], eax
je 0x1014fdf8
cmp dword [ebp - 0x10], 2
mov dword [ebp - 8], eax
je 0x1014fdf8
mov dword [ebp - 8], eax
cmp esi, 0x101c33f0
je 0x1014fdf3
test byte [esi + 0x44], 8
mov dword [ebp - 8], eax
je 0x1014fdf3
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x1c
pop ecx
call fcn.1004a045
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x60]
mov esi, dword [0x101c33f0]
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [eax + ebx + 0x13c]
cmp ecx, 0xffffffff
jne 0x1014fe08
xor edx, edx
jmp 0x1014fe11
imul edx, ecx, 0x1c
add edx, dword [edi + 0x5c]
add edx, dword [edi + 0x10]
xor ecx, ecx
test edx, edx
mov edx, dword [eax + ebx + 0x140]
setne cl
mov dword [ebp - 0x10], ecx
cmp edx, 0xffffffff
je 0x1014fe36
imul eax, edx, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
mov eax, dword [ebp - 8]
je 0x1014fe39
inc ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
mov ecx, ebx
mov edx, eax
je 0x1014fe7a
cmp dword [ebp - 0x10], 2
je 0x1014fe7a
cmp esi, 0x101c33f0
je 0x1014fe76
test byte [esi + 0x44], 8
je 0x1014fe76
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x1d
pop ecx
call fcn.1004a045
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 8]
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
mov eax, dword [edx + ecx + 0x144]
cmp eax, 0xffffffff
jne 0x1014fe8a
xor eax, eax
jmp 0x1014fe93
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
xor ebx, ebx
test eax, eax
mov eax, dword [edx + ecx + 0x148]
setne bl
mov dword [ebp - 0x10], ebx
cmp eax, 0xffffffff
je 0x1014feb5
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
je 0x1014feb8
inc ebx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0
mov eax, edx
mov ebx, ecx
mov dword [ebp - 8], eax
je 0x1014ff09
cmp dword [ebp - 0x10], 2
mov dword [ebp - 8], eax
je 0x1014ff09
mov dword [ebp - 8], eax
cmp esi, 0x101c33f0
je 0x1014ff04
test byte [esi + 0x44], 8
mov dword [ebp - 8], eax
je 0x1014ff04
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x1e
pop ecx
call fcn.1004a045
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x60]
mov esi, dword [0x101c33f0]
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [eax + ebx + 0x14c]
cmp ecx, 0xffffffff
jne 0x1014ff19
xor edx, edx
jmp 0x1014ff22
imul edx, ecx, 0x1c
add edx, dword [edi + 0x5c]
add edx, dword [edi + 0x10]
xor ecx, ecx
test edx, edx
mov edx, dword [eax + ebx + 0x150]
setne cl
cmp edx, 0xffffffff
je 0x1014ff44
imul eax, edx, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
mov eax, dword [ebp - 8]
je 0x1014ff44
inc ecx
mov dword [ebp - 8], eax
mov edx, ebx
test ecx, ecx
je 0x1014ff8f
mov dword [ebp - 8], eax
cmp ecx, 2
je 0x1014ff8f
mov dword [ebp - 8], eax
cmp esi, 0x101c33f0
je 0x1014ff8b
test byte [esi + 0x44], 8
mov dword [ebp - 8], eax
je 0x1014ff8b
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x1f
pop ecx
call fcn.1004a045
mov eax, dword [edi + 8]
mov edx, dword [edi + 0x60]
mov esi, dword [0x101c33f0]
mov dword [ebp - 8], eax
and dword [ebp - 4], 0
mov ebx, dword [ebp - 8]
mov eax, dword [ebx + edx + 0x164]
cmp eax, 0xffffffff
jne 0x1014ffa2
xor eax, eax
jmp 0x1014ffab
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
xor ecx, ecx
test eax, eax
mov eax, dword [ebx + edx + 0x168]
setne cl
cmp eax, 0xffffffff
je 0x1014ffca
imul eax, eax, 0x1c
add eax, dword [edi + 0x5c]
add eax, dword [edi + 0x10]
je 0x1014ffca
inc ecx
test ecx, ecx
je 0x1014fffe
cmp ecx, 2
je 0x1014fffe
cmp esi, 0x101c33f0
je 0x1014fffa
test byte [esi + 0x44], 8
je 0x1014fffa
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x20
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x2c]
add eax, ebx
neg ebx
sbb ebx, ebx
and ebx, eax
mov dword [ebp - 8], ebx
mov eax, dword [ebx + 0xe4]
test eax, eax
je 0x10150309
mov ebx, dword [ebx + 0x13c]
add ebx, eax
je 0x10150306
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 0x14]
mov ebx, dword [ebx + 0x38]
push 7
call fcn.10147fe5
test eax, eax
je 0x10150306
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x24]
lea eax, [ebx + ecx]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [edx + eax*2]
imul eax, eax, 0x38
mov ebx, dword [ebx + eax + 0x2c]
lea eax, [ebx + ecx]
neg ebx
sbb ebx, ebx
xor edx, edx
and ebx, eax
inc edx
mov eax, dword [ebx + 4]
cmp eax, edx
jbe 0x10150306
cmp dword [ebx + 0xc], 0xffffffff
jne 0x101500b5
cmp esi, 0x101c33f0
je 0x101500a7
test byte [esi + 0x44], 8
je 0x101500a7
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x21
pop ecx
call fcn.1004a045
mov eax, dword [ebx + 4]
mov esi, dword [0x101c33f0]
xor edx, edx
mov dword [ebp - 4], edx
inc edx
cmp eax, edx
jbe 0x10150306
cmp dword [ebx + 8], edx
jne 0x10150306
mov ecx, dword [ebx + 0xc]
cmp ecx, 0xffffffff
je 0x10150306
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x5c]
lea ebx, [eax + ecx*8]
add ebx, edx
je 0x10150306
mov eax, dword [ebx]
sub eax, 0
je 0x101502b7
sub eax, 1
je 0x10150283
sub eax, 1
je 0x10150243
sub eax, 1
je 0x10150200
sub eax, 1
je 0x101501bd
sub eax, 1
je 0x1015017a
sub eax, 1
je 0x10150137
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x29
jmp 0x101502e9
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xe8]
cmp eax, 0xffffffff
je 0x10150157
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, edx
jne 0x101502fe
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x28
jmp 0x101502e9
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xe4]
cmp eax, 0xffffffff
je 0x1015019a
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, edx
jne 0x101502fe
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x27
jmp 0x101502e9
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xe0]
cmp eax, 0xffffffff
je 0x101501dd
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, edx
jne 0x101502fe
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x26
jmp 0x101502e9
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xf8]
cmp eax, 0xffffffff
je 0x10150220
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, edx
jne 0x101502fe
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x25
jmp 0x101502e9
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xec]
cmp eax, 0xffffffff
je 0x10150263
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, edx
jne 0x101502fe
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x24
jmp 0x101502e9
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xf0]
cmp eax, 0xffffffff
je 0x1015029f
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, edx
jne 0x101502fe
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x23
jmp 0x101502e9
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 0xf4]
cmp eax, 0xffffffff
je 0x101502d3
imul eax, eax, 0x1c
add eax, dword [edi + 0x10]
add eax, edx
jne 0x101502fe
cmp esi, 0x101c33f0
je 0x101502fa
test byte [esi + 0x44], 8
je 0x101502fa
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x22
mov edx, 0x10034da8
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
mov ecx, dword [ebx + 4]
jmp 0x101500c1
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 0x14]
push 0
mov dword [ebp - 0x10], 1
call fcn.10147fe5
test eax, eax
je 0x10150414
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x1015043b
mov ecx, dword [ebx + 0x13c]
add ecx, eax
je 0x1015043b
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov ebx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
mov dword [ebp - 0x2c], ebx
movzx eax, byte [edx + eax*2]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
add eax, ecx
neg ecx
sbb ecx, ecx
xor edx, edx
and ecx, eax
test ebx, ebx
je 0x1015038c
lea eax, [ecx + 0x3c]
mov ebx, dword [eax - 4]
test ebx, ebx
je 0x101503f1
cmp dword [eax], 0
je 0x101503f1
cmp dword [edi + 0x6c], ebx
jl 0x101503ce
mov ebx, dword [eax]
cmp dword [edi + 0x70], ebx
jl 0x101503ab
inc edx
add eax, 0x4c
cmp edx, dword [ebp - 0x2c]
jb 0x1015036b
imul eax, dword [ebp - 0x24], 0x4c
add ecx, eax
mov eax, dword [edi + 0x6c]
cdq
idiv dword [ecx + 0x38]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x70]
cdq
idiv dword [ecx + 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x1015043b
cmp esi, 0x101c33f0
je 0x10150923
test byte [esi + 0x44], 8
je 0x10150923
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x2c
jmp 0x10150918
cmp esi, 0x101c33f0
je 0x10150923
test byte [esi + 0x44], 8
je 0x10150923
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x2b
jmp 0x10150918
cmp esi, 0x101c33f0
je 0x10150923
test byte [esi + 0x44], 8
je 0x10150923
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x2a
jmp 0x10150918
cmp esi, 0x101c33f0
je 0x1015043b
test byte [esi + 0x44], 8
je 0x1015043b
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x2d
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ebx, dword [ebp - 8]
mov ecx, dword [ebx + 0xcc]
test ecx, ecx
je 0x101508fa
mov eax, dword [ebx + 0x13c]
add eax, ecx
je 0x101508fa
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp - 0xc]
add eax, ecx
mov dword [ebp - 0x30], edx
neg ecx
sbb ecx, ecx
and dword [ebp - 0x2c], 0
and ecx, eax
mov dword [ebp - 0x34], ecx
test edx, edx
je 0x101508fa
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0xec]
test edx, edx
je 0x101504a4
mov eax, dword [eax + 0x13c]
add eax, edx
je 0x101504a4
cmp dword [ebx + ecx + 0x58], 0
je 0x101506ae
mov ebx, dword [ebx + ecx + 0x2c]
mov eax, dword [ebp - 0xc]
add eax, ebx
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [ebp - 0x24]
cmp dword [eax + ecx + 0x50], 0x100
je 0x101505f6
cmp dword [ebx + 0x3c], 0
je 0x101504d4
mov edx, dword [eax + ecx + 0x3c]
mov eax, dword [eax + ecx + 0x38]
jmp 0x101504dc
mov edx, dword [eax + ecx + 0x38]
mov eax, dword [eax + ecx + 0x3c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], edx
test edx, edx
jle 0x101508d7
test eax, eax
jle 0x101508d7
mov edx, dword [ebx]
test edx, edx
jle 0x101508b4
mov eax, dword [ebx + 4]
test eax, eax
jle 0x101508b4
mov eax, dword [ebx + 8]
test eax, eax
js 0x10150891
mov ecx, dword [ebx + 0xc]
test ecx, ecx
js 0x10150891
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
test edx, edx
jne 0x1015086e
mov eax, dword [ebx + 4]
div dword [ebp - 0x1c]
test edx, edx
jne 0x1015086e
mov eax, dword [ebx + 8]
div dword [ebp - 0x10]
test edx, edx
jne 0x1015084b
mov eax, ecx
div dword [ebp - 0x1c]
test edx, edx
jne 0x1015084b
cmp dword [edi + 0x98], edx
je 0x10150595
mov eax, dword [ebx + 8]
div dword [ebp - 0x18]
test edx, edx
jne 0x10150828
mov eax, ecx
mov ecx, dword [ebp - 0x28]
div ecx
test edx, edx
jne 0x10150828
mov eax, dword [ebx + 0x10]
div dword [ebp - 0x18]
test edx, edx
jne 0x10150805
mov eax, dword [ebx + 0x14]
div ecx
test edx, edx
jne 0x10150805
mov eax, dword [ebp - 0x14]
cdq
push 0x64
pop ecx
idiv ecx
mov ecx, eax
mov eax, dword [ebx + 8]
add ecx, dword [ebp - 0x14]
add eax, dword [ebx]
cmp ecx, eax
jl 0x101505c8
mov eax, dword [ebp - 0x20]
cdq
push 0x64
pop ecx
idiv ecx
mov ecx, eax
mov eax, dword [ebx + 0xc]
add ecx, dword [ebp - 0x20]
add eax, dword [ebx + 4]
cmp ecx, eax
jge 0x10150691
cmp esi, 0x101c33f0
je 0x101505ef
test byte [esi + 0x44], 8
je 0x101505ef
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x36
mov edx, 0x10034da8
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
xor ecx, ecx
jmp 0x101506d8
cmp dword [ebx + 0x18], 0
jle 0x10150602
cmp dword [ebx + 0x1c], 0
jg 0x10150629
cmp esi, 0x101c33f0
je 0x10150629
test byte [esi + 0x44], 8
je 0x10150629
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x37
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
cmp dword [ebx + 0x20], 0
jle 0x10150635
cmp dword [ebx + 0x24], 0
jg 0x10150660
cmp esi, 0x101c33f0
je 0x1015065c
test byte [esi + 0x44], 8
je 0x1015065c
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x38
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
cmp dword [ebx + 0x30], 0
jg 0x10150691
cmp esi, 0x101c33f0
je 0x1015068d
test byte [esi + 0x44], 8
je 0x1015068d
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x39
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
and dword [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x24]
inc eax
add ebx, 0x5c
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], ebx
cmp eax, dword [ebp - 0x30]
jae 0x101506d5
mov ecx, dword [ebp - 0x34]
jmp 0x10150482
cmp esi, 0x101c33f0
je 0x101506d5
test byte [esi + 0x44], 8
je 0x101506d5
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x2e
mov edx, 0x10034da8
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebx + 0x20]
add edi, 8
mov eax, dword [edx + 0x28]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0xc0]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x101507fe
add edi, edx
xor ebx, ebx
cmp dword [edi + 0x48], ebx
jne 0x1015072d
cmp esi, 0x101c33f0
je 0x1015072b
test byte [esi + 0x44], 8
je 0x1015072b
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x3a
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ecx, ebx
cmp dword [edi], ebx
je 0x1015075f
cmp dword [edi - 4], ebx
je 0x1015075f
cmp esi, 0x101c33f0
je 0x1015075d
test byte [esi + 0x44], 8
je 0x1015075d
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x3b
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov ecx, ebx
mov ebx, dword [edi + 0x30]
mov eax, dword [edi + 0x2c]
add ebx, 8
mov edx, dword [edi + 0x28]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], edx
test eax, eax
je 0x101507f1
add ebx, dword [ebp - 0xc]
cmp dword [ebx + 0x28], 0
jne 0x101507ad
cmp esi, 0x101c33f0
je 0x101507ab
test byte [esi + 0x44], 8
je 0x101507ab
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x3c
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
cmp dword [ebx], 0
je 0x101507e7
cmp dword [ebx - 4], 0
je 0x101507e7
cmp esi, 0x101c33f0
je 0x101507df
test byte [esi + 0x44], 8
je 0x101507df
push dword [esi + 0x3c]
mov edx, 0x10034da8
push dword [esi + 0x38]
push 0x3d
pop ecx
call fcn.1004a045
mov esi, dword [0x101c33f0]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 0x2c]
add ebx, edx
sub eax, 1
mov dword [ebp - 0x24], eax
jne 0x10150778
add edi, 0x54
sub dword [ebp - 0x28], 1
jne 0x101506fd
mov eax, ecx
jmp 0x10150925
cmp esi, 0x101c33f0
je 0x101506d5
test byte [esi + 0x44], 8
je 0x101506d5
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x35
jmp 0x101506c4
cmp esi, 0x101c33f0
je 0x101506d5
test byte [esi + 0x44], 8
je 0x101506d5
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x34
jmp 0x101506c4
cmp esi, 0x101c33f0
je 0x101506d5
test byte [esi + 0x44], 8
je 0x101506d5
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x33
jmp 0x101506c4
cmp esi, 0x101c33f0
je 0x101506d5
test byte [esi + 0x44], 8
je 0x101506d5
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x32
jmp 0x101506c4
cmp esi, 0x101c33f0
je 0x101505ef
test byte [esi + 0x44], 8
je 0x101505ef
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x31
jmp 0x101505de
cmp esi, 0x101c33f0
je 0x101505ef
test byte [esi + 0x44], 8
je 0x101505ef
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x30
jmp 0x101505de
cmp esi, 0x101c33f0
je 0x101505ef
test byte [esi + 0x44], 8
je 0x101505ef
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x2f
jmp 0x101505de
mov ecx, dword [ebp - 4]
jmp 0x101506db
cmp esi, 0x101c33f0
je 0x10150923
test byte [esi + 0x44], 8
je 0x10150923
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x12
mov edx, 0x10034da8
pop ecx
call fcn.1004a045
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret