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

Disassembly:
sub esp, 0x84
push ebx
mov ebx, dword [esp + 0x98]
push ebp
mov ebp, dword [esp + 0x90]
push esi
xor ecx, ecx
push edi
mov edi, eax
xor esi, esi
xor eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], eax
jmp 0x3a1c70
xor ecx, ecx
cmp dword [ebx + 0x34], ecx
jne 0x3a1d72
lea ebx, [ebx + eax*4]
lea eax, [edi + eax*4 + 0x1fc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
jmp 0x3a1c90
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test eax, eax
je 0x3a1d52
cmp dword [edi + 0x78], 0
je 0x3a1d52
test edi, edi
je 0x3a1cd1
test byte [edi + 0x775], 2
je 0x3a1cd1
test eax, eax
jbe 0x3a1ccd
cmp eax, 0x57
ja 0x3a1ccd
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a1ce0
xor eax, eax
jmp 0x3a1ce0
mov edx, dword [ebp + 0x12bfc]
push eax
push 2
push edx
call fcn.00048d20
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
push ecx
mov ecx, dword [ebx]
push edx
push ecx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
mov eax, dword [ebp + 0x14]
test al, 1
je 0x3a1d2a
test eax, 0x800000
je 0x3a1d2a
mov eax, dword [edi + 0x14]
test al, 1
je 0x3a1d2a
test eax, 0x104000
jne 0x3a1d2a
test byte [edi + 0x775], 2
jne 0x3a1d2a
mov eax, 1
jmp 0x3a1d2c
xor eax, eax
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.003a18b0
mov ecx, dword [esp + 0x90]
mov esi, eax
mov eax, dword [esp + 0xa4]
or dword [eax + 0x38], ecx
test esi, esi
jne 0x3a2727
mov eax, dword [esp + 0x14]
add dword [esp + 0x10], 8
add eax, 1
add ebx, 8
cmp eax, 2
mov dword [esp + 0x14], eax
jbe 0x3a1c90
mov eax, dword [esp + 0x18]
mov eax, dword [edi + eax*4 + 0x214]
test eax, eax
je 0x3a1ed4
cmp dword [edi + 0xc4], 0
je 0x3a1ed4
test edi, edi
je 0x3a1db7
test byte [edi + 0x775], 2
je 0x3a1db7
test eax, eax
jbe 0x3a1db3
cmp eax, 0x57
ja 0x3a1db3
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a1dc6
xor eax, eax
jmp 0x3a1dc6
mov edx, dword [ebp + 0x12bfc]
push eax
push 2
push edx
call fcn.00048d20
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa4]
push ecx
mov ecx, dword [ebx + 0x18]
push edx
push ecx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
mov eax, dword [ebp + 0x14]
test al, 1
je 0x3a1e18
test eax, 0x800000
je 0x3a1e18
mov eax, dword [edi + 0x14]
test al, 1
je 0x3a1e18
test eax, 0x104000
jne 0x3a1e18
test byte [edi + 0x775], 2
jne 0x3a1e18
mov eax, 1
jmp 0x3a1e1a
xor eax, eax
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.003a18b0
mov esi, eax
mov eax, dword [esp + 0x90]
or dword [ebx + 0x38], eax
test esi, esi
jne 0x3a2727
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + ecx*4 + 0x248]
test eax, eax
je 0x3a1ed4
cmp dword [esp + 0x9c], esi
je 0x3a1ed4
push eax
push edi
push ebp
call fcn.0039ac20
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa4]
push edx
mov edx, dword [ebx + 0x24]
push ecx
push edx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
mov eax, dword [ebp + 0x14]
test al, 1
je 0x3a1eaf
test eax, 0x800000
je 0x3a1eaf
mov eax, dword [edi + 0x14]
test al, 1
je 0x3a1eaf
test eax, 0x104000
jne 0x3a1eaf
test byte [edi + 0x775], 2
jne 0x3a1eaf
mov eax, 1
jmp 0x3a1eb1
xor eax, eax
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.003a18b0
mov esi, eax
mov eax, dword [esp + 0x90]
or dword [ebx + 0x38], eax
test esi, esi
jne 0x3a2727
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xa4]
cmp dword [ecx + 0x34], 0
je 0x3a1fdf
mov eax, dword [esp + 0x18]
mov edx, ecx
lea ebx, [edx + eax*4]
lea eax, [edi + eax*4 + 0x1fc]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test eax, eax
je 0x3a1fc3
cmp dword [edi + 0x78], 0
je 0x3a1fc3
test edi, edi
je 0x3a1f42
test byte [edi + 0x775], 2
je 0x3a1f42
test eax, eax
jbe 0x3a1f3e
cmp eax, 0x57
ja 0x3a1f3e
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a1f51
xor eax, eax
jmp 0x3a1f51
mov edx, dword [ebp + 0x12bfc]
push eax
push 2
push edx
call fcn.00048d20
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
push ecx
mov ecx, dword [ebx]
push edx
push ecx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
mov eax, dword [ebp + 0x14]
test al, 1
je 0x3a1f9b
test eax, 0x800000
je 0x3a1f9b
mov eax, dword [edi + 0x14]
test al, 1
je 0x3a1f9b
test eax, 0x104000
jne 0x3a1f9b
test byte [edi + 0x775], 2
jne 0x3a1f9b
mov eax, 1
jmp 0x3a1f9d
xor eax, eax
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.003a18b0
mov ecx, dword [esp + 0x90]
mov esi, eax
mov eax, dword [esp + 0xa4]
or dword [eax + 0x38], ecx
test esi, esi
jne 0x3a2727
mov eax, dword [esp + 0x14]
add dword [esp + 0x10], 8
add eax, 1
add ebx, 8
cmp eax, 2
mov dword [esp + 0x14], eax
jbe 0x3a1f01
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + ecx*4 + 0x21c]
test eax, eax
je 0x3a21ec
cmp dword [edi + 0xc8], 0
je 0x3a21ec
cmp dword [edi + 0xc4], 0x18
jne 0x3a2141
cmp dword [edi + ecx*4 + 0x214], 0
je 0x3a2141
test edi, edi
je 0x3a2043
test byte [edi + 0x775], 2
je 0x3a2043
test eax, eax
jbe 0x3a203f
cmp eax, 0x57
ja 0x3a203f
imul eax, eax, 0x2b0
lea esi, [eax + ebp + 0x14c0]
jmp 0x3a2054
xor esi, esi
jmp 0x3a2054
mov edx, dword [ebp + 0x12bfc]
push eax
push 2
push edx
call fcn.00048d20
mov esi, eax
test edi, edi
mov eax, dword [esp + 0x18]
mov eax, dword [edi + eax*4 + 0x214]
je 0x3a2088
test byte [edi + 0x775], 2
je 0x3a2088
test eax, eax
jbe 0x3a2084
cmp eax, 0x57
ja 0x3a2084
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a2097
xor eax, eax
jmp 0x3a2097
mov ecx, dword [ebp + 0x12bfc]
push eax
push 2
push ecx
call fcn.00048d20
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x1c]
mov edx, dword [esp + 0xa0]
push ecx
push edx
push esi
push eax
push edi
push ebp
call fcn.003a1540
mov esi, eax
test esi, esi
jne 0x3a2727
test edi, edi
mov eax, dword [esp + 0x18]
mov eax, dword [edi + eax*4 + 0x21c]
je 0x3a20f1
test byte [edi + 0x775], 2
je 0x3a20f1
test eax, eax
jbe 0x3a20ed
cmp eax, 0x57
ja 0x3a20ed
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a2100
xor eax, eax
jmp 0x3a2100
mov ecx, dword [ebp + 0x12bfc]
push eax
push 2
push ecx
call fcn.00048d20
mov ecx, dword [eax + 0x108]
lea edx, [ecx + ecx*2]
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, dword [edx*4 + 0x41c80c]
mov dword [eax + 0xd8], ecx
mov ecx, dword [eax + 0x248]
lea edx, [ecx + ecx*2]
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, dword [edx*4 + 0x41c80c]
mov dword [eax + 0x218], ecx
jmp 0x3a21ec
test edi, edi
je 0x3a216a
test byte [edi + 0x775], 2
je 0x3a216a
test eax, eax
jbe 0x3a2166
cmp eax, 0x57
ja 0x3a2166
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a2179
xor eax, eax
jmp 0x3a2179
mov edx, dword [ebp + 0x12bfc]
push eax
push 2
push edx
call fcn.00048d20
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa4]
push ecx
mov ecx, dword [ebx + 0x18]
push edx
push ecx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
mov eax, dword [ebp + 0x14]
test al, 1
je 0x3a21cb
test eax, 0x800000
je 0x3a21cb
mov eax, dword [edi + 0x14]
test al, 1
je 0x3a21cb
test eax, 0x104000
jne 0x3a21cb
test byte [edi + 0x775], 2
jne 0x3a21cb
mov eax, 1
jmp 0x3a21cd
xor eax, eax
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.003a18b0
mov esi, eax
mov eax, dword [esp + 0x90]
or dword [ebx + 0x38], eax
test esi, esi
jne 0x3a2727
mov ebx, dword [esp + 0xa4]
cmp dword [ebx + 0x30], 0
je 0x3a22db
test edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + ecx*4 + 0x1fc]
je 0x3a223b
test byte [edi + 0x775], 2
je 0x3a223b
test eax, eax
jbe 0x3a2231
cmp eax, 0x57
ja 0x3a2231
imul eax, eax, 0x2b0
lea edx, [eax + ebp + 0x14c0]
mov dword [esp + 0x14], edx
jmp 0x3a224e
mov dword [esp + 0x14], 0
jmp 0x3a224e
push eax
mov eax, dword [ebp + 0x12bfc]
push 2
push eax
call fcn.00048d20
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
lea edx, [edi + ecx*4 + 0x204]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], 2
test edi, edi
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
je 0x3a2294
test byte [edi + 0x775], 2
je 0x3a2294
test eax, eax
jbe 0x3a2290
cmp eax, 0x57
ja 0x3a2290
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a22a3
xor eax, eax
jmp 0x3a22a3
mov ecx, dword [ebp + 0x12bfc]
push eax
push 2
push ecx
call fcn.00048d20
cmp dword [esp + 0x14], 0
je 0x3a22c8
test eax, eax
je 0x3a22c8
mov edx, dword [esp + 0x14]
push 0
push 0
add edx, 0x170
push edx
lea ebx, [eax + 0x170]
call fcn.0039c610
add dword [esp + 0x10], 8
sub dword [esp + 0x1c], 1
jne 0x3a2265
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, 1
mov dword [esp + 0x18], eax
jbe 0x3a1c6e
mov eax, dword [edi + 0x258]
test eax, eax
je 0x3a239d
test edi, edi
je 0x3a2326
test byte [edi + 0x775], 2
je 0x3a2326
test eax, eax
jbe 0x3a2322
cmp eax, 0x57
ja 0x3a2322
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a2335
xor eax, eax
jmp 0x3a2335
push eax
mov eax, dword [ebp + 0x12bfc]
push 2
push eax
call fcn.00048d20
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [ecx]
push edx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
mov eax, dword [ebp + 0x14]
test al, 1
je 0x3a2386
test eax, 0x800000
je 0x3a2386
mov eax, dword [edi + 0x14]
test al, 1
je 0x3a2386
test eax, 0x104000
jne 0x3a2386
test byte [edi + 0x775], 2
jne 0x3a2386
mov eax, 1
jmp 0x3a2388
xor eax, eax
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.003a18b0
mov esi, eax
test esi, esi
jne 0x3a2727
cmp dword [edi + 0xb0], 0
je 0x3a2422
test edi, edi
mov eax, dword [edi + 0x224]
je 0x3a23d5
test byte [edi + 0x775], 2
je 0x3a23d5
test eax, eax
jbe 0x3a23d1
cmp eax, 0x57
ja 0x3a23d1
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a23e4
xor eax, eax
jmp 0x3a23e4
mov ecx, dword [ebp + 0x12bfc]
push eax
push 2
push ecx
call fcn.00048d20
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa4]
mov ecx, dword [ebx + 0x2c]
push 0
push edx
push ecx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
push 0
mov edx, esi
push edx
call fcn.003a18b0
mov esi, eax
mov eax, dword [esp + 0x90]
or dword [ebx + 0x38], eax
test esi, esi
jne 0x3a2727
cmp dword [edi + 0x78], 0
je 0x3a24e0
cmp dword [edi + 0x44], 0
mov dword [esp + 0x1c], 0
jle 0x3a24e0
lea ebx, [edi + 0x228]
test edi, edi
mov eax, dword [ebx]
je 0x3a246f
test byte [edi + 0x775], 2
je 0x3a246f
test eax, eax
jbe 0x3a246b
cmp eax, 0x57
ja 0x3a246b
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a247e
xor eax, eax
jmp 0x3a247e
mov ecx, dword [ebp + 0x12bfc]
push eax
push 2
push ecx
call fcn.00048d20
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0xa8]
push ecx
mov ecx, dword [edx + 0x28]
push ecx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
push 0
mov edx, esi
push edx
call fcn.003a18b0
mov ecx, dword [esp + 0x90]
mov esi, eax
mov eax, dword [esp + 0xa4]
or dword [eax + 0x38], ecx
test esi, esi
jne 0x3a2727
mov eax, dword [esp + 0x1c]
add eax, 1
add ebx, 4
cmp eax, dword [edi + 0x44]
mov dword [esp + 0x1c], eax
jl 0x3a2444
cmp dword [ebp + 0x12be0], 0
mov dword [esp + 0x10], 0
jbe 0x3a269c
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0x10]
jmp 0x3a2510
cmp dword [esp + 0x9c], 0
je 0x3a2654
mov eax, dword [edi + edx*4 + 0x250]
test eax, eax
je 0x3a2654
cmp dword [edi + 0x248], 0
je 0x3a25df
test edx, edx
jne 0x3a25df
test edi, edi
mov eax, dword [edi + 0x250]
je 0x3a2571
test byte [edi + 0x775], 2
je 0x3a2571
test eax, eax
jbe 0x3a256d
cmp eax, 0x57
ja 0x3a256d
imul eax, eax, 0x2b0
lea esi, [eax + ebp + 0x14c0]
jmp 0x3a2582
xor esi, esi
jmp 0x3a2582
mov edx, dword [ebp + 0x12bfc]
push eax
push 2
push edx
call fcn.00048d20
mov esi, eax
test edi, edi
mov eax, dword [edi + 0x248]
je 0x3a25b1
test byte [edi + 0x775], 2
je 0x3a25b1
test eax, eax
jbe 0x3a25ad
cmp eax, 0x57
ja 0x3a25ad
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a25c0
xor eax, eax
jmp 0x3a25c0
push eax
mov eax, dword [ebp + 0x12bfc]
push 2
push eax
call fcn.00048d20
mov ecx, dword [ebx + 0x20]
push ecx
push 0
push esi
push eax
push edi
push ebp
call fcn.003a1540
mov esi, eax
test esi, esi
jne 0x3a2727
mov eax, dword [esp + 0x20]
jmp 0x3a264b
test edi, edi
je 0x3a2608
test byte [edi + 0x775], 2
je 0x3a2608
test eax, eax
jbe 0x3a2604
cmp eax, 0x57
ja 0x3a2604
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a2617
xor eax, eax
jmp 0x3a2617
mov edx, dword [ebp + 0x12bfc]
push eax
push 2
push edx
call fcn.00048d20
mov ecx, dword [esp + 0x9c]
mov edx, dword [ebx + 0x20]
push 0
push ecx
push edx
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
push 0
mov eax, esi
push eax
call fcn.003a18b0
mov esi, eax
test esi, esi
jne 0x3a2727
mov eax, dword [esp + 0x90]
test eax, eax
mov ecx, 1
jne 0x3a266f
mov edx, dword [esp + 0x10]
add edx, 1
cmp edx, dword [ebp + 0x12be0]
mov dword [esp + 0x10], edx
jb 0x3a2510
test ecx, ecx
je 0x3a269c
test byte [ebp + 0x11], 1
jne 0x3a268b
mov dword [edi + 0x2b0], 1
mov dword [edi + 0x2ac], 0
jmp 0x3a269c
push edi
push ebp
call fcn.0038fb70
mov esi, eax
test esi, esi
jne 0x3a2727
cmp dword [edi + 0x7a4], 0
je 0x3a2727
xor ebx, ebx
cmp dword [ebp + 0x1044c], ebx
jbe 0x3a2727
lea ecx, [edi + 0x25c]
mov dword [esp + 0x10], ecx
lea ecx, [ecx]
test byte [edi + 0x775], 2
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
je 0x3a26eb
test eax, eax
jbe 0x3a26e7
cmp eax, 0x57
ja 0x3a26e7
imul eax, eax, 0x2b0
lea eax, [eax + ebp + 0x14c0]
jmp 0x3a26fa
xor eax, eax
jmp 0x3a26fa
push eax
mov eax, dword [ebp + 0x12bfc]
push 2
push eax
call fcn.00048d20
push 0
push 1
push 3
push ebp
push eax
lea esi, [esp + 0x3c]
call fcn.0039e990
push 1
mov ecx, esi
push ecx
call fcn.003a18b0
add dword [esp + 0x10], 4
add ebx, 1
cmp ebx, dword [ebp + 0x1044c]
mov esi, eax
jb 0x3a26c0
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x10