Function at 0x1003ac20
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push esi
push edi
mov edi, ecx
mov eax, edx
mov dword [esp + 0xc], eax
test edi, edi
je 0x1003b694
cmp dword [edi + 0x20], 0
je 0x1003b694
cmp dword [edi + 0x24], 0
je 0x1003b694
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x1003b694
cmp dword [esi], edi
jne 0x1003b694
mov ebx, dword [esi + 4]
cmp ebx, 0x2a
je 0x1003ac8f
cmp ebx, 0x39
je 0x1003ac8f
cmp ebx, 0x45
je 0x1003ac8f
cmp ebx, 0x49
je 0x1003ac8f
cmp ebx, 0x5b
je 0x1003ac8f
cmp ebx, 0x67
je 0x1003ac8f
cmp ebx, 0x71
je 0x1003ac8f
cmp ebx, 0x29a
jne 0x1003b694
cmp eax, 5
ja 0x1003b694
cmp dword [edi + 0xc], 0
je 0x1003b68d
cmp dword [edi + 4], 0
je 0x1003acb1
cmp dword [edi], 0
je 0x1003b68d
cmp ebx, 0x29a
jne 0x1003acc2
cmp eax, 4
jne 0x1003b68d
cmp dword [edi + 0x10], 0
push ebp
je 0x1003ad35
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x28]
mov dword [esi + 0x28], eax
je 0x1003ace9
call fcn.1003abd0
cmp dword [edi + 0x10], 0
je 0x1003b67c
mov ebp, dword [esi + 4]
jmp 0x1003ad23
cmp dword [edi + 4], 0
mov ebp, ebx
jne 0x1003ad23
xor eax, eax
mov ecx, 9
cmp edx, 4
mov dword [esp + 0x14], ecx
cmovg eax, ecx
add edx, edx
sub edx, eax
xor ecx, ecx
mov eax, dword [esp + 0x10]
cmp eax, 4
cmovg ecx, dword [esp + 0x14]
add eax, eax
sub eax, ecx
cmp eax, edx
jg 0x1003ad23
cmp dword [esp + 0x10], 4
jne 0x1003ad35
cmp ebp, 0x29a
jne 0x1003ad49
cmp dword [edi + 4], 0
je 0x1003adff
pop ebp
mov dword [edi + 0x18], 0x1007dc5c
mov eax, 0xfffffffb
pop edi
pop esi
pop ebx
add esp, 0xc
ret
cmp ebp, 0x2a
jne 0x1003adff
mov edx, dword [esi + 0x30]
shl edx, 0xc
add edx, 0xffff8800
cmp dword [esi + 0x88], 2
jge 0x1003ad95
mov eax, dword [esi + 0x84]
cmp eax, 2
jl 0x1003ad95
cmp eax, 6
jge 0x1003ad7f
lea eax, [ebp + 0x16]
lea ecx, [ebp + 0x36]
jmp 0x1003ad9c
jne 0x1003ad8b
mov eax, 0x80
lea ecx, [eax + 0x20]
jmp 0x1003ad9c
mov eax, 0xc0
lea ecx, [eax + 0x20]
jmp 0x1003ad9c
xor eax, eax
mov ecx, 0x20
cmp dword [esi + 0x6c], 0
cmove ecx, eax
mov eax, 0x8421085
or ecx, edx
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 4
inc ecx
mov edx, ecx
shl edx, 5
sub edx, ecx
mov ecx, esi
call fcn.1003aba0
cmp dword [esi + 0x6c], 0
je 0x1003ade0
movzx edx, word [edi + 0x32]
mov ecx, esi
call fcn.1003aba0
movzx edx, word [edi + 0x30]
mov ecx, esi
call fcn.1003aba0
mov dword [edi + 0x30], 1
mov ecx, edi
mov dword [esi + 4], 0x71
call fcn.1003abd0
cmp dword [esi + 0x14], 0
jne 0x1003b67c
mov eax, dword [esi + 4]
cmp eax, 0x39
jne 0x1003aed9
mov dword [edi + 0x30], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], 0x1f
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], 0x8b
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], 8
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x1c]
inc edx
mov dword [esi + 0x14], edx
test ebx, ebx
jne 0x1003af5e
mov eax, dword [esi + 8]
mov byte [edx + eax], bl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], bl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], bl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], bl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], bl
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x84]
inc edx
mov dword [esi + 0x14], edx
cmp eax, 9
jne 0x1003ae94
mov cl, 2
jmp 0x1003aea8
cmp dword [esi + 0x88], 2
jge 0x1003aea6
cmp eax, 2
jl 0x1003aea6
xor cl, cl
jmp 0x1003aea8
mov cl, 4
mov eax, dword [esi + 8]
mov byte [edx + eax], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], 0xa
mov ecx, edi
inc dword [esi + 0x14]
mov dword [esi + 4], 0x71
call fcn.1003abd0
cmp dword [esi + 0x14], 0
jne 0x1003b67c
mov eax, dword [esi + 4]
cmp eax, 0x45
jne 0x1003b15f
mov edx, dword [esi + 0x1c]
cmp dword [edx + 0x10], 0
je 0x1003b156
movzx ecx, word [edx + 0x14]
sub ecx, dword [esi + 0x20]
mov ebp, dword [esi + 0x14]
mov ebx, dword [esi + 0xc]
mov dword [esp + 0x14], ecx
lea eax, [ecx + ebp]
cmp eax, ebx
jbe 0x1003b104
mov edx, ebp
nop dword [eax]
mov eax, dword [esi + 0x1c]
sub ebx, edx
push ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [eax + 0x10]
add eax, dword [esi + 0x20]
push eax
mov eax, dword [esi + 8]
add eax, edx
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esi + 0x1c]
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x14], ecx
cmp dword [eax + 0x2c], 0
je 0x1003b09b
cmp ecx, ebp
jbe 0x1003b09b
mov edx, dword [esi + 8]
sub ecx, ebp
add edx, ebp
jne 0x1003b08c
xor eax, eax
jmp 0x1003b098
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x2c]
neg ecx
sbb cl, cl
and cl, 0x10
neg eax
sbb al, al
and al, 2
add cl, al
mov eax, dword [ebx + 0x1c]
neg eax
sbb al, al
and al, 8
add cl, al
mov eax, dword [ebx + 0x10]
neg eax
sbb al, al
and al, 4
add cl, al
cmp dword [ebx], 0
setne al
add cl, al
mov eax, dword [esi + 8]
mov byte [edx + eax], cl
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 8]
movzx eax, byte [eax + 4]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 8]
movzx eax, byte [eax + 5]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 8]
movzx eax, byte [eax + 6]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
movzx eax, byte [eax + 7]
mov byte [edx + ecx], al
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x84]
inc edx
mov dword [esi + 0x14], edx
cmp eax, 9
jne 0x1003aff9
mov cl, 2
jmp 0x1003b00d
cmp dword [esi + 0x88], 2
jge 0x1003b00b
cmp eax, 2
jl 0x1003b00b
xor cl, cl
jmp 0x1003b00d
mov cl, 4
mov eax, dword [esi + 8]
mov byte [edx + eax], cl
inc dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
mov al, byte [eax + 0xc]
mov byte [edx + ecx], al
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
inc edx
mov dword [esi + 0x14], edx
cmp dword [eax + 0x10], 0
je 0x1003b05b
movzx eax, byte [eax + 0x14]
mov ecx, dword [esi + 8]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
movzx eax, byte [eax + 0x15]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x2c], 0
je 0x1003b079
mov eax, dword [esi + 8]
test eax, eax
je 0x1003b076
mov ecx, dword [edi + 0x30]
push edx
mov edx, eax
call fcn.10035d90
add esp, 4
mov dword [edi + 0x30], eax
mov dword [esi + 0x20], 0
mov dword [esi + 4], 0x45
jmp 0x1003aee2
push ecx
mov ecx, dword [edi + 0x30]
call fcn.10035d90
add esp, 4
mov dword [edi + 0x30], eax
add dword [esi + 0x20], ebx
mov ebp, dword [edi + 0x1c]
mov ecx, ebp
call fcn.1003ff20
mov ebx, dword [edi + 0x10]
cmp dword [ebp + 0x14], ebx
cmovbe ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x1003b0dc
push ebx
push dword [ebp + 0x10]
push dword [edi + 0xc]
call sub.msvcrt.dll_memcpy
add dword [edi + 0xc], ebx
add esp, 0xc
add dword [ebp + 0x10], ebx
add dword [edi + 0x14], ebx
sub dword [edi + 0x10], ebx
sub dword [ebp + 0x14], ebx
jne 0x1003b0dc
mov eax, dword [ebp + 8]
mov dword [ebp + 0x10], eax
cmp dword [esi + 0x14], 0
jne 0x1003b67c
mov ecx, dword [esp + 0x14]
xor ebp, ebp
sub ecx, dword [esp + 0x18]
xor edx, edx
mov ebx, dword [esi + 0xc]
mov dword [esp + 0x14], ecx
cmp ecx, ebx
ja 0x1003af10
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + 0x10]
mov ebx, dword [esi + 0x20]
add eax, ebx
push ecx
push eax
mov eax, dword [esi + 8]
add eax, ebp
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esi + 0x1c]
add ecx, dword [esi + 0x14]
mov dword [esi + 0x14], ecx
cmp dword [eax + 0x2c], 0
je 0x1003b14f
cmp ecx, ebp
jbe 0x1003b14f
mov edx, dword [esi + 8]
sub ecx, ebp
add edx, ebp
jne 0x1003b140
xor eax, eax
jmp 0x1003b14c
push ecx
mov ecx, dword [edi + 0x30]
call fcn.10035d90
add esp, 4
mov dword [edi + 0x30], eax
mov dword [esi + 0x20], 0
mov dword [esi + 4], 0x49
jmp 0x1003b168
cmp eax, 0x49
jne 0x1003b25a
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x1c], 0
je 0x1003b251
mov ebp, dword [esi + 0x14]
mov ebx, ebp
nop word [eax + eax]
cmp ebx, dword [esi + 0xc]
jne 0x1003b1fa
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x2c], 0
je 0x1003b1ae
cmp ebx, ebp
jbe 0x1003b1ae
mov edx, dword [esi + 8]
sub ebx, ebp
add edx, ebp
jne 0x1003b19f
xor eax, eax
jmp 0x1003b1ab
mov ecx, dword [edi + 0x30]
push ebx
call fcn.10035d90
add esp, 4
mov dword [edi + 0x30], eax
mov ebp, dword [edi + 0x1c]
mov ecx, ebp
call fcn.1003ff20
mov ebx, dword [edi + 0x10]
cmp dword [ebp + 0x14], ebx
cmovbe ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x1003b1ec
push ebx
push dword [ebp + 0x10]
push dword [edi + 0xc]
call sub.msvcrt.dll_memcpy
add dword [edi + 0xc], ebx
add esp, 0xc
add dword [ebp + 0x10], ebx
add dword [edi + 0x14], ebx
sub dword [edi + 0x10], ebx
sub dword [ebp + 0x14], ebx
jne 0x1003b1ec
mov eax, dword [ebp + 8]
mov dword [ebp + 0x10], eax
cmp dword [esi + 0x14], 0
jne 0x1003b67c
xor ebp, ebp
xor ebx, ebx
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov eax, dword [eax + 0x1c]
mov dl, byte [ecx + eax]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 8]
mov byte [ebx + eax], dl
mov ebx, dword [esi + 0x14]
inc ebx
mov dword [esi + 0x14], ebx
test dl, dl
jne 0x1003b180
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x2c], 0
je 0x1003b24a
cmp ebx, ebp
jbe 0x1003b24a
mov edx, dword [esi + 8]
sub ebx, ebp
add edx, ebp
jne 0x1003b23b
xor eax, eax
jmp 0x1003b247
mov ecx, dword [edi + 0x30]
push ebx
call fcn.10035d90
add esp, 4
mov dword [edi + 0x30], eax
mov dword [esi + 0x20], 0
mov dword [esi + 4], 0x5b
jmp 0x1003b263
cmp eax, 0x5b
jne 0x1003b352
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x24], 0
je 0x1003b349
mov ebp, dword [esi + 0x14]
mov ebx, ebp
cmp ebx, dword [esi + 0xc]
jne 0x1003b2ef
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x2c], 0
je 0x1003b2a3
cmp ebx, ebp
jbe 0x1003b2a3
mov edx, dword [esi + 8]
sub ebx, ebp
add edx, ebp
jne 0x1003b294
xor eax, eax
jmp 0x1003b2a0
mov ecx, dword [edi + 0x30]
push ebx
call fcn.10035d90
add esp, 4
mov dword [edi + 0x30], eax
mov ebp, dword [edi + 0x1c]
mov ecx, ebp
call fcn.1003ff20
mov ebx, dword [edi + 0x10]
cmp dword [ebp + 0x14], ebx
cmovbe ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x1003b2e1
push ebx
push dword [ebp + 0x10]
push dword [edi + 0xc]
call sub.msvcrt.dll_memcpy
add dword [edi + 0xc], ebx
add esp, 0xc
add dword [ebp + 0x10], ebx
add dword [edi + 0x14], ebx
sub dword [edi + 0x10], ebx
sub dword [ebp + 0x14], ebx
jne 0x1003b2e1
mov eax, dword [ebp + 8]
mov dword [ebp + 0x10], eax
cmp dword [esi + 0x14], 0
jne 0x1003b67c
xor ebp, ebp
xor ebx, ebx
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov eax, dword [eax + 0x24]
mov dl, byte [ecx + eax]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 8]
mov byte [ebx + eax], dl
mov ebx, dword [esi + 0x14]
inc ebx
mov dword [esi + 0x14], ebx
test dl, dl
jne 0x1003b275
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x2c], 0
je 0x1003b349
cmp ebx, ebp
jbe 0x1003b349
mov edx, dword [esi + 8]
sub ebx, ebp
add edx, ebp
jne 0x1003b33a
xor eax, eax
mov dword [edi + 0x30], eax
mov dword [esi + 4], 0x67
jmp 0x1003b357
mov ecx, dword [edi + 0x30]
push ebx
call fcn.10035d90
add esp, 4
mov dword [edi + 0x30], eax
mov dword [esi + 4], 0x67
jmp 0x1003b357
cmp eax, 0x67
jne 0x1003b3b9
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x2c], 0
je 0x1003b3a1
mov edx, dword [esi + 0x14]
lea eax, [edx + 2]
cmp eax, dword [esi + 0xc]
jbe 0x1003b37d
mov ecx, edi
call fcn.1003abd0
mov edx, dword [esi + 0x14]
test edx, edx
jne 0x1003b67c
mov ecx, dword [esi + 8]
movzx eax, byte [edi + 0x30]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
movzx eax, byte [edi + 0x31]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov dword [edi + 0x30], 0
mov ecx, edi
mov dword [esi + 4], 0x71
call fcn.1003abd0
cmp dword [esi + 0x14], 0
jne 0x1003b67c
cmp dword [edi + 4], 0
mov ebx, dword [esp + 0x10]
jne 0x1003b3de
cmp dword [esi + 0x74], 0
jne 0x1003b3de
test ebx, ebx
je 0x1003b683
cmp dword [esi + 4], 0x29a
je 0x1003b597
mov eax, dword [esi + 0x84]
test eax, eax
jne 0x1003b3f1
push ebx
push esi
call fcn.1003bb90
jmp 0x1003b425
mov ecx, dword [esi + 0x88]
cmp ecx, 2
jne 0x1003b407
mov edx, ebx
mov ecx, esi
call fcn.1003ce10
jmp 0x1003b428
cmp ecx, 3
jne 0x1003b417
mov edx, ebx
mov ecx, esi
call fcn.1003c9d0
jmp 0x1003b428
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x1007c8f0]
push ebx
push esi
call eax
add esp, 8
cmp eax, 2
je 0x1003b432
cmp eax, 3
jne 0x1003b439
mov dword [esi + 4], 0x29a
test eax, eax
je 0x1003b676
cmp eax, 2
je 0x1003b676
cmp eax, 1
jne 0x1003b597
cmp ebx, eax
jne 0x1003b52a
mov ecx, dword [esi + 0x16bc]
mov ebx, 2
mov eax, ebx
shl ax, cl
or ax, word [esi + 0x16b8]
movzx eax, ax
mov dword [esp + 0x18], eax
cmp ecx, 0xd
jle 0x1003b4c7
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x18]
mov word [esi + 0x16b8], ax
mov eax, dword [esi + 8]
mov byte [ecx + eax], dl
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
mov al, byte [esi + 0x16b9]
mov byte [edx + ecx], al
mov cl, 0x10
movzx eax, word [esi + 0x16bc]
add dword [esi + 0x16bc], 0xfffffff3
sub cl, al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x16bc]
shr bx, cl
movzx eax, bx
jmp 0x1003b4d3
lea edx, [ecx + 3]
movzx eax, ax
mov dword [esi + 0x16bc], edx
mov word [esi + 0x16b8], ax
movzx ebx, ax
cmp edx, 9
jle 0x1003b50b
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov byte [ecx + eax], bl
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
mov al, byte [esi + 0x16b9]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
add dword [esi + 0x16bc], 0xfffffff7
xor eax, eax
jmp 0x1003b516
lea eax, [edx + 7]
mov dword [esi + 0x16bc], eax
mov eax, ebx
mov ecx, esi
mov word [esi + 0x16b8], ax
call fcn.1003ff20
mov ebx, dword [esp + 0x10]
jmp 0x1003b586
cmp ebx, 5
je 0x1003b586
push 0
push 0
xor edx, edx
mov ecx, esi
call fcn.1003f6a0
add esp, 8
cmp ebx, 3
jne 0x1003b586
mov eax, dword [esi + 0x44]
xor edx, edx
mov ecx, dword [esi + 0x4c]
mov word [eax + ecx*2 - 2], dx
mov eax, dword [esi + 0x4c]
lea eax, [eax*2 - 2]
push eax
push edx
push dword [esi + 0x44]
call sub.msvcrt.dll_memset
add esp, 0xc
cmp dword [esi + 0x74], 0
jne 0x1003b586
mov dword [esi + 0x6c], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x16b4], 0
mov ecx, edi
call fcn.1003abd0
cmp dword [edi + 0x10], 0
je 0x1003b67c
cmp ebx, 4
jne 0x1003b683
mov eax, dword [esi + 0x18]
test eax, eax
jg 0x1003b5b2
pop ebp
pop edi
pop esi
lea eax, [ebx - 3]
pop ebx
add esp, 0xc
ret
cmp eax, 2
jne 0x1003b63d
mov edx, dword [esi + 0x14]
movzx eax, byte [edi + 0x30]
mov ecx, dword [esi + 8]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx eax, byte [edi + 0x31]
mov ecx, dword [esi + 8]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx eax, byte [edi + 0x32]
mov ecx, dword [esi + 8]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx eax, byte [edi + 0x33]
mov ecx, dword [esi + 8]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx eax, byte [edi + 8]
mov ecx, dword [esi + 8]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
movzx eax, byte [edi + 9]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
movzx eax, byte [edi + 0xa]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 8]
movzx eax, byte [edi + 0xb]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
jmp 0x1003b653
movzx edx, word [edi + 0x32]
mov ecx, esi
call fcn.1003aba0
movzx edx, word [edi + 0x30]
mov ecx, esi
call fcn.1003aba0
mov ecx, edi
call fcn.1003abd0
mov eax, dword [esi + 0x18]
test eax, eax
jle 0x1003b666
neg eax
mov dword [esi + 0x18], eax
pop ebp
xor eax, eax
cmp dword [esi + 0x14], eax
pop edi
pop esi
sete al
pop ebx
add esp, 0xc
ret
cmp dword [edi + 0x10], 0
jne 0x1003b683
mov dword [esi + 0x28], 0xffffffff
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
mov dword [edi + 0x18], 0x1007dc50
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
add esp, 0xc
ret