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

Disassembly:
sub esp, 0xc
and dword [esp + 4], 0
mov eax, edx
and dword [esp + 8], 0
push ebx
push ebp
mov ebp, dword [esp + 0x18]
mov ebx, ecx
push esi
push edi
mov edi, dword [esp + 0x24]
mov esi, dword [ebp]
mov dword [esp + 0x10], eax
cmp edi, 1
jb 0x1003e0c3
mov al, byte [esi + eax]
lea ecx, [esi + 1]
movzx edx, al
mov eax, edx
mov dword [ebp], ecx
sub eax, esi
add eax, ecx
cmp eax, edi
ja 0x1003e0c3
add edx, ecx
mov ecx, ebx
mov dword [ebp], edx
call fcn.10035ad4
push 2
pop ecx
test eax, eax
je 0x1003e08d
mov eax, edx
sub eax, esi
add eax, ecx
cmp eax, edi
ja 0x1003e0c3
mov ecx, dword [esp + 0x10]
mov al, byte [edx + ecx]
mov cl, byte [edx + ecx + 1]
add edx, 2
mov dword [ebp], edx
movzx ebp, al
shl ebp, 8
movzx eax, cl
or ebp, eax
mov eax, ebp
sub eax, esi
add eax, edx
cmp eax, edi
ja 0x1003e0c3
add edx, dword [esp + 0x10]
mov ecx, ebx
push ebp
call fcn.1003d492
pop ecx
test eax, eax
je 0x1003e07f
mov eax, dword [ebx + 0x214]
test eax, eax
je 0x1003e07f
cmp dword [eax], 0
je 0x1003e07f
mov eax, dword [ebx + 0x218]
test eax, eax
je 0x1003e07f
cmp dword [eax], 0
je 0x1003e07f
mov eax, 0xfffffe57
jmp 0x1003e0c8
mov eax, dword [esp + 0x20]
push 2
pop ecx
add dword [eax], ebp
mov ebp, eax
mov edx, dword [ebp]
mov eax, edx
sub eax, esi
add eax, ecx
cmp eax, edi
ja 0x1003e0c3
mov eax, dword [esp + 0x10]
movzx ecx, byte [edx + eax]
movzx eax, byte [edx + eax + 1]
add edx, 2
shl cx, 8
or cx, ax
mov dword [ebp], edx
movzx ecx, cx
movzx eax, cx
sub eax, esi
mov dword [esp + 0x20], ecx
add eax, edx
cmp eax, edi
jbe 0x1003e11c
mov eax, 0xfffffeb8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, edx
sub eax, esi
add eax, 2
cmp eax, edi
ja 0x1003e0c3
mov eax, dword [esp + 0x10]
movzx ecx, byte [edx + eax]
movzx eax, byte [edx + eax + 1]
add edx, 2
shl cx, 8
or cx, ax
mov dword [ebp], edx
movzx ecx, cx
mov eax, ecx
mov dword [esp + 0x24], eax
sub eax, esi
add eax, edx
cmp eax, edi
ja 0x1003e0c3
add edx, ecx
mov eax, 0xfffe
sub eax, ecx
mov dword [ebp], edx
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x20], ecx
test cx, cx
jne 0x1003e0d0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x1003e400
mov eax, dword [ebx + 0x214]
xor esi, esi
test eax, eax
je 0x1003e142
cmp dword [eax], esi
jne 0x1003e400
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
push ebx
call ecx
xor edi, edi
add esp, 0xc
inc edi
cmp eax, edi
jne 0x1003e43f
mov edx, dword [esp + 0x14]
test edx, edx
je 0x1003e435
mov edx, dword [edx + 0x8c]
test edx, edx
je 0x1003e435
movzx eax, word [ebx + 0x568]
xor ecx, ecx
not ax
shr eax, 8
and eax, edi
push eax
push esi
lea eax, [esp + 0x28]
push eax
push ebx
push esi
push 2
pop eax
push eax
push dword [edx + 8]
mov edx, dword [edx]
call fcn.10031f9a
add esp, 0x1c
cmp eax, edi
jne 0x1003e435
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1003e435
push ecx
push dword [edx + 0xc]
mov edx, dword [edx + 0x2c]
mov ecx, ebx
call fcn.10033a46
pop ecx
pop ecx
cmp eax, edi
jne 0x1003e435
mov edi, dword [esp + 0x14]
test edi, edi
je 0x1003e335
cmp byte [edi + 0x94], 0
je 0x1003e335
lea eax, [edi + 0x98]
push eax
push eax
call 0x10335ad9
dec dword [edi + 0xb0]
lea eax, [edi + 0x98]
mov esi, dword [edi + 0xb0]
push eax
call dword [0x34a017c]
test esi, esi
jne 0x1003e335
lea ecx, [edi + 0x254]
call fcn.100361ae
lea ecx, [edi + 0x1300]
call fcn.100361ae
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x1003e23c
call fcn.1005d745
mov dword [edi + 0x78], esi
jmp 0x1003e23e
xor esi, esi
lea ecx, [edi + 0x8c]
call fcn.10046ede
mov ecx, dword [edi + 0x68]
test ecx, ecx
je 0x1003e255
call fcn.1005d745
mov ecx, dword [edi + 0xc8]
mov dword [edi + 0x68], esi
test ecx, ecx
je 0x1003e267
call fcn.1005d745
mov ecx, dword [edi + 0xcc]
mov dword [edi + 0xc8], esi
test ecx, ecx
je 0x1003e27c
call fcn.1005d745
mov ecx, dword [edi + 0xd8]
mov dword [edi + 0xcc], esi
test ecx, ecx
je 0x1003e297
call fcn.1005d745
mov dword [edi + 0xd8], esi
mov ecx, dword [edi + 0xdc]
test ecx, ecx
je 0x1003e2a6
call fcn.1005d745
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x1003e2b2
call fcn.10032f13
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x1003e2be
call fcn.100340db
mov ecx, dword [edi + 0xd0]
test ecx, ecx
je 0x1003e2d3
call fcn.1005d745
mov dword [edi + 0xd0], esi
mov ecx, dword [edi + 0x23ac]
test ecx, ecx
je 0x1003e2e8
call fcn.10033e68
mov dword [edi + 0x23ac], esi
mov ecx, dword [edi + 0x23b4]
test ecx, ecx
je 0x1003e2fd
call fcn.1003411e
mov dword [edi + 0x23b4], esi
mov ecx, dword [edi + 0x23b8]
test ecx, ecx
je 0x1003e312
call fcn.10031438
mov dword [edi + 0x23b8], esi
mov ecx, dword [edi + 0x74]
test ecx, ecx
je 0x1003e321
call fcn.10043e79
mov dword [edi + 0x74], esi
lea eax, [edi + 0x98]
push eax
call 0x103328ba
ret
mov edi, dword [esp + 0x18]
test edi, edi
je 0x1003e400
lea eax, [edi + 0x14]
push eax
push eax
call 0x102ca57b
dec dword [edi + 0x10]
lea eax, [edi + 0x14]
mov esi, dword [edi + 0x10]
push eax
call dword [0x34a017c]
test esi, esi
jne 0x1003e400
lea ecx, [edi + 0x50]
call fcn.1005d3f6
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x1003e37c
call fcn.1005d745
mov dword [edi + 0x2c], esi
jmp 0x1003e37e
xor esi, esi
mov eax, dword [edi + 4]
sub eax, 6
je 0x1003e3da
sub eax, 0xb
je 0x1003e3c3
sub eax, 1
je 0x1003e3ac
sub eax, 0xa
jne 0x1003e3ef
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x1003e3ef
cmp byte [edi + 0x4c], 1
jne 0x1003e3ef
call fcn.100342da
mov dword [edi + 0x48], esi
jmp 0x1003e3ef
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x1003e3ef
cmp byte [edi + 0x44], 1
jne 0x1003e3ef
call fcn.10034669
mov dword [edi + 0x40], esi
jmp 0x1003e3ef
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x1003e3ef
cmp byte [edi + 0x3c], 1
jne 0x1003e3ef
call fcn.100343ef
mov dword [edi + 0x38], esi
jmp 0x1003e3ef
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x1003e3ef
cmp byte [edi + 0x34], 1
jne 0x1003e3ef
call fcn.10035877
mov dword [edi + 0x30], esi
lea eax, [edi + 0x14]
push eax
push ecx
call 0x102b0c33
mov ecx, edi
call fcn.1005d745
mov eax, dword [ebx + 0x214]
test eax, eax
je 0x1003e44b
cmp dword [eax], 0
je 0x1003e44b
mov eax, dword [ebx + 0x218]
test eax, eax
je 0x1003e465
cmp dword [eax], 0
je 0x1003e465
mov ax, word [ebx + 0x568]
mov ecx, 0xfffb
and ax, cx
push 2
pop ecx
or ax, cx
jmp 0x1003e45e
mov eax, 0xfffffe4c
jmp 0x1003e0c8
test eax, eax
jns 0x1003e400
push 0x53
pop eax
jmp 0x1003e0c8
mov ax, word [ebx + 0x568]
mov ecx, 0xfffd
and ax, cx
or ax, 4
mov word [ebx + 0x568], ax
cmp byte [ebx + 0x560], 0
je 0x1003e477
mov eax, dword [ebx + 0x55c]
add dword [ebp], eax
xor eax, eax
jmp 0x1003e0c8