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

Disassembly:
mov eax, 0x1194
call fcn.10039090
mov edx, dword [0x10044730]
push ebx
push esi
mov esi, ecx
mov cx, word [edx]
xor eax, eax
push edi
mov word [esp + 0x10], cx
test cx, cx
je 0x10015af3
lea ecx, [esp + 0x10]
sub edx, ecx
lea ebx, [ebx]
inc eax
lea ecx, [edx + eax*2]
movzx ecx, word [esp + ecx + 0x10]
mov word [esp + eax*2 + 0x10], cx
test cx, cx
jne 0x10015ae0
lea edi, [esp + eax*2 + 0x10]
mov edx, 0x20
mov word [edi], dx
add edi, 2
mov eax, 0x3d
mov word [edi], ax
add edi, 2
mov ecx, edx
mov word [edi], cx
add edi, 2
xor edx, edx
mov word [edi], dx
xor eax, eax
lea ecx, [edi + 4]
nop
mov dl, byte [eax + esi]
test dl, dl
je 0x10015ba0
movzx dx, dl
mov word [ecx - 4], dx
mov dl, byte [eax + esi + 1]
test dl, dl
je 0x10015b8b
movzx dx, dl
mov word [ecx - 2], dx
mov dl, byte [eax + esi + 2]
test dl, dl
je 0x10015b8e
movzx dx, dl
mov word [ecx], dx
mov dl, byte [eax + esi + 3]
test dl, dl
je 0x10015b93
movzx dx, dl
mov word [ecx + 2], dx
mov dl, byte [eax + esi + 4]
test dl, dl
je 0x10015b98
movzx dx, dl
mov word [ecx + 4], dx
mov dl, byte [eax + esi + 5]
test dl, dl
je 0x10015b9d
movzx dx, dl
mov word [ecx + 6], dx
add eax, 6
add ecx, 0xc
cmp eax, 0xc
jl 0x10015b20
jmp 0x10015ba0
inc eax
jmp 0x10015ba0
add eax, 2
jmp 0x10015ba0
add eax, 3
jmp 0x10015ba0
add eax, 4
jmp 0x10015ba0
add eax, 5
mov ebx, dword [0x10044734]
lea eax, [edi + eax*2]
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
movzx ecx, word [ebx]
xor edi, edi
mov word [eax], cx
test cx, cx
je 0x10015be6
mov ecx, eax
sub ebx, eax
movzx edx, word [ebx + ecx + 2]
add ecx, 2
inc edi
mov word [ecx], dx
test dx, dx
jne 0x10015bd5
lea eax, [eax + edi*2]
mov ecx, 0x20
mov word [eax], cx
add eax, 2
mov edx, 0x3d
mov word [eax], dx
add eax, 2
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
xor ecx, ecx
lea esp, [esp]
mov dl, byte [ecx + esi + 0xc]
test dl, dl
je 0x10015c26
movzx dx, dl
mov word [eax + ecx*2], dx
inc ecx
cmp ecx, 4
jl 0x10015c10
mov ebx, dword [0x10044738]
lea eax, [eax + ecx*2]
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
movzx ecx, word [ebx]
xor edi, edi
mov word [eax], cx
test cx, cx
je 0x10015c71
mov ecx, eax
sub ebx, eax
jmp 0x10015c60
movzx edx, word [ebx + ecx + 2]
add ecx, 2
inc edi
mov word [ecx], dx
test dx, dx
jne 0x10015c60
lea eax, [eax + edi*2]
mov ecx, 0x20
mov word [eax], cx
add eax, 2
mov edx, 0x3d
mov word [eax], dx
add eax, 2
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
xor ecx, ecx
mov dl, byte [ecx + esi + 0x10]
test dl, dl
je 0x10015cad
movzx dx, dl
mov word [eax + ecx*2], dx
inc ecx
cmp ecx, 2
jl 0x10015c97
mov ebx, dword [0x1004473c]
lea eax, [eax + ecx*2]
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
movzx ecx, word [ebx]
xor edi, edi
mov word [eax], cx
test cx, cx
je 0x10015cf3
mov ecx, eax
sub ebx, eax
movzx edx, word [ebx + ecx + 2]
add ecx, 2
inc edi
mov word [ecx], dx
test dx, dx
jne 0x10015ce2
lea ebx, [eax + edi*2]
mov edi, dword [0x1003c2a0]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
movzx eax, byte [esi + 0x12]
push ebp
push eax
push 0x1004001c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044740]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10015d78
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10015d67
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
movzx eax, byte [esi + 0x13]
push eax
push 0x1004001c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov cl, byte [esi + 0x14]
mov ebp, 1
shl ebp, cl
mov ecx, dword [0x10044744]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10015e15
sub ebx, eax
mov ecx, eax
mov dword [esp + 0x10], ebx
jmp 0x10015e04
mov ebx, dword [esp + 0x10]
movzx ebx, word [ebx + ecx + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10015e00
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov eax, ebp
mov ecx, edx
shr eax, 3
add ebx, 2
push eax
mov word [ebx], cx
add ebx, 2
xor edx, edx
push 0x1003e714
push ebx
mov word [ebx], dx
call edi
lea ebx, [ebx + eax*2]
mov ecx, 0x4d
mov word [ebx], cx
mov ecx, 0x1004004c
add esp, 0xc
mov dword [esp + 0x10], 0
mov eax, ebx
sub ecx, ebx
jmp 0x10015e70
movzx edx, word [ecx + eax + 2]
inc dword [esp + 0x10]
add eax, 2
mov word [eax], dx
test dx, dx
jne 0x10015e70
mov edx, dword [esp + 0x10]
push ebp
lea ebx, [ebx + edx*2]
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x4d
mov ebx, 0x10040054
add esp, 0xc
xor ebp, ebp
mov word [eax], cx
mov ecx, eax
sub ebx, eax
lea ecx, [ecx]
movzx edx, word [ebx + ecx + 2]
add ecx, 2
inc ebp
mov word [ecx], dx
test dx, dx
jne 0x10015eb0
lea eax, [eax + ebp*2]
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x10044748]
mov ebp, ecx
movzx ecx, word [ecx]
xor ebx, ebx
mov word [eax], cx
test cx, cx
je 0x10015f11
mov ecx, eax
sub ebp, eax
jmp 0x10015f00
movzx edx, word [ecx + ebp + 2]
add ecx, 2
inc ebx
mov word [ecx], dx
test dx, dx
jne 0x10015f00
lea eax, [eax + ebx*2]
mov ecx, 0x20
mov word [eax], cx
add eax, 2
mov edx, 0x3d
mov word [eax], dx
add eax, 2
mov word [eax], cx
lea ecx, [esi + 0x15]
add eax, 2
xor edx, edx
push 0xa
push ecx
mov word [eax], dx
call fcn.10015a60
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x1004474c]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 8
mov word [eax], cx
test cx, cx
je 0x10015f86
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10015f75
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
movzx eax, byte [esi + 0x1f]
push eax
push 0x1004001c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044750]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016004
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10015ff3
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x20]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044754]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016081
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016070
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x24]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044758]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016101
mov ecx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x100160f0
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x28]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
add eax, 2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [0x1004475c]
mov ebp, edx
movzx edx, word [edx]
add esp, 0xc
mov word [eax], dx
test dx, dx
je 0x10016181
mov edx, eax
sub ebp, eax
jmp 0x10016170
movzx ebx, word [edx + ebp + 2]
add edx, 2
inc ecx
mov word [edx], bx
test bx, bx
jne 0x10016170
lea ebx, [eax + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x2c]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x2c]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x29
mov word [eax], cx
add eax, 2
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x10044760]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0x18
mov word [eax], cx
test cx, cx
je 0x10016223
mov ebp, ebx
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016212
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
mov eax, dword [esi + 0x30]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044764]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x100162a1
mov ecx, eax
sub ebp, eax
nop
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016290
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x34]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044768]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016321
mov ecx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016310
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x38]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
add eax, 2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [0x1004476c]
mov ebp, edx
movzx edx, word [edx]
add esp, 0xc
mov word [eax], dx
test dx, dx
je 0x100163a1
mov edx, eax
sub ebp, eax
jmp 0x10016390
movzx ebx, word [edx + ebp + 2]
add edx, 2
inc ecx
mov word [edx], bx
test bx, bx
jne 0x10016390
lea ebx, [eax + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x3c]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x3c]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x29
mov word [eax], cx
add eax, 2
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x10044770]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0x18
mov word [eax], cx
test cx, cx
je 0x10016443
mov ebp, ebx
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016432
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
mov eax, dword [esi + 0x40]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
add eax, 2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [0x10044774]
mov ebp, edx
movzx edx, word [edx]
add esp, 0xc
mov word [eax], dx
test dx, dx
je 0x100164c1
mov edx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [edx + ebp + 2]
add edx, 2
inc ecx
mov word [edx], bx
test bx, bx
jne 0x100164b0
lea ebx, [eax + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x44]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x44]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x29
mov word [eax], cx
add eax, 2
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x10044778]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0x18
mov word [eax], cx
test cx, cx
je 0x10016563
mov ebp, ebx
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016552
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
mov eax, dword [esi + 0x48]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
add eax, 2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [0x1004477c]
mov ebp, edx
movzx edx, word [edx]
add esp, 0xc
mov word [eax], dx
test dx, dx
je 0x100165e1
mov edx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [edx + ebp + 2]
add edx, 2
inc ecx
mov word [edx], bx
test bx, bx
jne 0x100165d0
lea ebx, [eax + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x4c]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x4c]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x29
mov word [eax], cx
add eax, 2
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x10044780]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0x18
mov word [eax], cx
test cx, cx
je 0x10016683
mov ebp, ebx
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016672
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
mov eax, dword [esi + 0x50]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
add eax, 2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [0x10044784]
mov ebp, edx
movzx edx, word [edx]
add esp, 0xc
mov word [eax], dx
test dx, dx
je 0x10016701
mov edx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [edx + ebp + 2]
add edx, 2
inc ecx
mov word [edx], bx
test bx, bx
jne 0x100166f0
lea ebx, [eax + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x54]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x54]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x29
mov word [eax], cx
add eax, 2
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x10044788]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0x18
mov word [eax], cx
test cx, cx
je 0x100167a3
mov ebp, ebx
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016792
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
mov eax, dword [esi + 0x58]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
add eax, 2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [0x1004478c]
mov ebp, edx
movzx edx, word [edx]
add esp, 0xc
mov word [eax], dx
test dx, dx
je 0x10016821
mov edx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [edx + ebp + 2]
add edx, 2
inc ecx
mov word [edx], bx
test bx, bx
jne 0x10016810
lea ebx, [eax + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x5c]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x5c]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x29
mov word [eax], cx
add eax, 2
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x10044790]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0x18
mov word [eax], cx
test cx, cx
je 0x100168c3
mov ebp, ebx
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x100168b2
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
mov eax, dword [esi + 0x60]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044794]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016941
mov ecx, eax
sub ebp, eax
nop
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016930
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x64]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x10044798]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x100169c1
mov ecx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x100169b0
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x68]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x1004479c]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016a41
mov ecx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016a30
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
movzx eax, word [esi + 0x6c]
push eax
push 0x1004002c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x100447a0]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016ac1
mov ecx, eax
sub ebp, eax
mov edi, edi
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016ab0
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
movzx eax, word [esi + 0x6e]
push eax
push 0x1004002c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x100447a4]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016b41
mov ecx, eax
sub ebp, eax
mov edi, edi
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016b30
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x70]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x100447a8]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016bc1
mov ecx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016bb0
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x74]
push eax
push 0x1004003c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x100447ac]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016c41
mov ecx, eax
sub ebp, eax
lea ecx, [ecx]
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016c30
lea eax, [eax + edx*2]
mov edx, 0x20
mov word [eax], dx
add eax, 2
mov ecx, 0x3d
mov word [eax], cx
add eax, 2
mov word [eax], dx
lea edx, [esi + 0x78]
add eax, 2
xor ecx, ecx
push 8
push edx
mov word [eax], cx
call fcn.10015a60
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
add eax, 2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [0x100447b0]
mov ebp, edx
movzx edx, word [edx]
add esp, 8
mov word [eax], dx
test dx, dx
je 0x10016cb6
mov edx, eax
sub ebp, eax
movzx ebx, word [edx + ebp + 2]
add edx, 2
inc ecx
mov word [edx], bx
test bx, bx
jne 0x10016ca5
lea ebx, [eax + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x80]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x80]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
lea ebx, [eax + 2]
mov ecx, 0x29
mov word [eax], cx
mov edx, 0xd
mov word [ebx], dx
add ebx, 2
mov eax, 0xa
mov word [ebx], ax
add ebx, 2
xor ecx, ecx
mov word [ebx], cx
mov eax, dword [0x100447b4]
mov edx, eax
movzx eax, word [eax]
add esp, 0x18
mov word [ebx], ax
test ax, ax
je 0x10016d61
mov ebp, edx
mov eax, ebx
sub ebp, ebx
lea esp, [esp]
movzx edx, word [eax + ebp + 2]
add eax, 2
inc ecx
mov word [eax], dx
test dx, dx
jne 0x10016d50
lea ebx, [ebx + ecx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
mov eax, dword [esi + 0x84]
push eax
push 0x1004003c
push ebx
call edi
lea ebx, [ebx + eax*2]
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [esi + 0x84]
push eax
add ebx, 2
push 0x1003e714
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0x29
mov word [eax], cx
add eax, 2
mov edx, 0xd
mov word [eax], dx
add eax, 2
mov ecx, 0xa
mov word [eax], cx
add eax, 2
xor edx, edx
mov word [eax], dx
mov ecx, dword [0x100447b8]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0x18
mov word [eax], cx
test cx, cx
je 0x10016e11
mov ebp, ebx
mov ecx, eax
sub ebp, eax
jmp 0x10016e00
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016e00
lea ebx, [eax + edx*2]
mov eax, 0x20
mov word [ebx], ax
add ebx, 2
mov ecx, 0x3d
mov word [ebx], cx
mov edx, eax
add ebx, 2
mov word [ebx], dx
xor eax, eax
add ebx, 2
mov word [ebx], ax
movzx eax, word [esi + 0x15c]
push eax
push 0x1004002c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x100447bc]
mov ebp, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
test cx, cx
je 0x10016e92
mov ecx, eax
sub ebp, eax
movzx ebx, word [ecx + ebp + 2]
add ecx, 2
inc edx
mov word [ecx], bx
test bx, bx
jne 0x10016e81
lea ebx, [eax + edx*2]
mov edx, 0x20
mov word [ebx], dx
add ebx, 2
mov eax, 0x3d
mov word [ebx], ax
mov ecx, edx
add ebx, 2
mov word [ebx], cx
add ebx, 2
xor edx, edx
mov word [ebx], dx
movzx eax, word [esi + 0x15e]
push eax
push 0x1004002c
push ebx
call edi
lea eax, [ebx + eax*2]
mov ecx, 0xd
mov word [eax], cx
add eax, 2
mov edx, 0xa
mov word [eax], dx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [0x100447c0]
mov ebx, ecx
movzx ecx, word [ecx]
add esp, 0xc
xor edx, edx
mov word [eax], cx
pop ebp
test cx, cx
je 0x10016f14
mov ecx, eax
sub ebx, eax
movzx esi, word [ebx + ecx + 2]
add ecx, 2
inc edx
mov word [ecx], si
test si, si
jne 0x10016f03
lea esi, [eax + edx*2]
mov edx, 0x20
mov word [esi], dx
add esi, 2
mov eax, 0x3d
mov word [esi], ax
mov eax, dword [0x10047a90]
mov ecx, edx
add esi, 2
push eax
mov word [esi], cx
add esi, 2
xor edx, edx
push 0x1004003c
push esi
mov word [esi], dx
call edi
lea esi, [esi + eax*2]
mov ecx, 0xd
mov word [esi], cx
add esp, 0xc
lea ecx, [esp + 0x10]
add esi, 2
mov edx, 0xa
push ecx
mov word [esi], dx
mov edx, dword [esp + 0x11a8]
push 0x3e9
xor eax, eax
push edx
mov word [esi + 2], ax
call dword [0x1003c298]
push eax
call dword [0x1003c3c4]
pop edi
pop esi
pop ebx
add esp, 0x1194
ret