Function at 0x100418e0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb10
push ebx
push ebp
push esi
push edi
push 0x1c0
lea eax, [esp + 0x74]
mov ebp, ecx
push 0
push eax
mov dword [esp + 0x78], ebp
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x230]
push 0x8f0
push 0
push eax
call sub.msvcrt.dll_memset
mov ebx, dword [0x1005be08]
add esp, 0xc
mov ecx, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], esi
lea eax, [ebx + 0x11a8]
mov dword [esp + 0x28], 0x1005bdb0
push 1
mov dword [esp + 0x28], eax
mov al, byte [ebx + 0x117e]
push ecx
mov ecx, dword [ecx + 8]
mov byte [esp + 0x27], al
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov word [esp + 0x3c], si
mov dword [esp + 0x40], 0x1005bdb0
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov word [esp + 0x4c], si
call fcn.1003bae0
mov edi, eax
test edi, edi
je 0x10041bf3
jmp 0x10041990
mov eax, dword [esp + 0xb24]
cmp dword [edi + 0x1c], eax
jne 0x10041be0
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x10041be0
cmp word [ecx + 8], 1
jne 0x10041be0
cmp byte [ecx + 0xa], 0
jne 0x10041be0
cmp byte [ecx + 0x23], 0
jne 0x10041be0
mov al, byte [ecx + 0x24]
mov byte [esp + 0x17], al
test al, al
je 0x100419e2
cmp byte [ebx + 0x117d], 0
je 0x10041be0
mov edx, dword [ecx + 0x1c]
lea eax, [edx - 1]
cmp eax, 0x23a
ja 0x10041be0
mov ebx, dword [edx*4 + 0x1005d960]
test ebx, ebx
je 0x10041bdc
mov ebp, dword [ebx]
cmp ebp, 0x81
mov dword [esp + edx*4 + 0x230], edi
setge byte [esp + 0x16]
cmp byte [esp + 0x1f], 0
jne 0x10041abd
mov edx, dword [ebx + 0xc]
cmp edx, 0x1c
jge 0x10041abd
cmp ebp, 0x81
jl 0x10041a3f
cmp byte [ebx + 0x12], 0
je 0x10041abd
mov al, 0x1e
lea esi, [esp + 0x70]
cmp al, byte [ecx + 0x20]
push ecx
mov ecx, dword [ebx + 0x14]
sbb eax, eax
shl edx, 4
and eax, 8
add esi, edx
mov edx, dword [esp + 0x28]
add esi, eax
mov al, byte [ebx + 0x10]
mov byte [esp + 0x22], al
call fcn.1000d4b0
mov cl, byte [esi + 6]
mov dl, al
mov al, byte [esp + 0x1b]
add esp, 4
mov ah, byte [esp + 0x1e]
mov ch, byte [esp + 0x16]
cmp al, cl
jne 0x10041a93
mov al, byte [esi + 7]
cmp ah, al
mov al, byte [esp + 0x17]
je 0x10041a90
seta cl
jmp 0x10041a96
cmp ch, byte [esi + 5]
setb cl
cmp dword [esi], 0
je 0x10041aaf
cmp byte [esi + 4], 0
je 0x10041aa7
test dl, dl
je 0x10041abd
jmp 0x10041aab
test dl, dl
jne 0x10041aaf
test cl, cl
je 0x10041abd
mov dword [esi], ebx
mov byte [esi + 5], ch
mov byte [esi + 6], al
mov byte [esi + 4], dl
mov byte [esi + 7], ah
cmp dword [esp + 0x2c], 0
jne 0x10041bdc
cmp ebp, 0x81
jl 0x10041bdc
cmp dword [edi + 0x28], 0
je 0x10041bdc
push 0x10058b7c
lea edx, [edi + 0x38]
mov dword [esp + 0x4c], 0x1005bdb0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov word [esp + 0x58], 0
call fcn.10008ee0
mov eax, dword [esp + 0x2c]
add esp, 4
mov ebx, dword [sym.imp.msvcrt.dll_free]
cmp eax, 0x1005bdb0
je 0x10041b28
push eax
call ebx
add esp, 4
mov eax, dword [esp + 0x48]
lea edx, [edi + 0x38]
mov ebp, dword [esp + 0x4c]
lea ecx, [esp + 0x58]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x54]
push 0x10058b80
mov dword [esp + 0x30], ebp
mov byte [esp + 0x38], al
mov dword [esp + 0x4c], 0x1005bdb0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x5c], 0x1005bdb0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov word [esp + 0x68], 0
call fcn.10008ee0
mov eax, dword [esp + 0x3c]
add esp, 4
cmp eax, 0x1005bdb0
je 0x10041ba4
push eax
call ebx
add esp, 4
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x64]
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x44], al
mov dword [esp + 0x58], 0x1005bdb0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov ebx, dword [esp + 0x18]
mov ecx, edi
call fcn.10020650
mov edi, eax
test edi, edi
jne 0x10041990
xor esi, esi
cmp byte [esp + 0x1f], 0
je 0x10041e1d
mov edx, 5
mov dword [esp + 0x18], edx
jmp 0x10041c10
mov ebp, dword [esp + edx*4 + 0x230]
test ebp, ebp
je 0x10041e07
cmp byte [ebp + 0x24], 0
je 0x10041e07
lea eax, [edx - 1]
cmp eax, 0x23a
ja 0x10041e07
mov ebx, dword [edx*4 + 0x1005d960]
mov dword [esp + 0x68], ebx
test ebx, ebx
je 0x10041e07
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x1c
jl 0x10041c68
mov eax, dword [0x1005be08]
mov eax, dword [eax + 0x1174]
shr eax, 0x1f
test al, al
je 0x10041e07
mov esi, dword [ebp + 0x78]
test esi, esi
je 0x10041c7a
cmp word [esi + 8], 1
jne 0x10041c7a
mov eax, esi
jmp 0x10041c7c
xor eax, eax
xor edi, edi
cmp edx, 0x81
jl 0x10041ce1
cmp ecx, 0x1c
jge 0x10041ce1
cmp dword [eax + 0x2c], edi
jne 0x10041ce1
mov ecx, ebx
mov bl, byte [ebx + 8]
mov ecx, dword [ecx + 4]
lea eax, [ecx - 1]
cmp eax, 0x23a
ja 0x10041ccd
mov ecx, dword [ecx*4 + 0x1005d960]
test ecx, ecx
je 0x10041ccd
mov eax, dword [ecx]
mov edx, dword [esp + eax*4 + 0x230]
test edx, edx
je 0x10041c95
mov al, byte [ecx + 8]
cmp al, bl
je 0x10041cc5
test edi, edi
jne 0x10041c95
mov edi, edx
cmp al, bl
jne 0x10041c95
jmp 0x10041cd5
test edi, edi
je 0x10041dff
mov edx, edi
mov ecx, ebp
call fcn.100420b0
mov esi, dword [ebp + 0x78]
test esi, esi
je 0x10041d57
cmp word [esi + 8], 1
jne 0x10041d57
cmp byte [esi + 0x25], 0
jne 0x10041d1a
cmp dword [esi + 0x1c], 0x81
jl 0x10041d57
cmp dword [ebp + 0x28], 0
jne 0x10041d57
lea ebx, [ebp + 0x38]
mov edx, 0x10058b7c
mov ecx, ebx
call fcn.10008d00
test eax, eax
je 0x10041d57
mov byte [esi + 0x25], 1
jmp 0x10041d1d
lea ebx, [ebp + 0x38]
cmp dword [esp + 0x2c], 0
je 0x10041d57
lea eax, [esp + 0x28]
mov byte [esi + 0x25], 0
push eax
mov edx, 0x10058b7c
mov ecx, ebx
call fcn.10009010
add esp, 4
cmp dword [esp + 0x3c], 0
je 0x10041d57
lea eax, [esp + 0x38]
mov edx, 0x10058b80
push eax
mov ecx, ebx
call fcn.10009010
add esp, 4
test edi, edi
je 0x10041dd4
mov esi, dword [edi + 0x78]
test esi, esi
je 0x10041dd4
cmp word [esi + 8], 1
jne 0x10041dd4
cmp byte [esi + 0x25], 0
jne 0x10041d97
cmp dword [esi + 0x1c], 0x81
jl 0x10041dd4
cmp dword [edi + 0x28], 0
jne 0x10041dd4
add edi, 0x38
mov edx, 0x10058b7c
mov ecx, edi
call fcn.10008d00
test eax, eax
je 0x10041dd4
mov byte [esi + 0x25], 1
jmp 0x10041d9a
add edi, 0x38
cmp dword [esp + 0x2c], 0
je 0x10041dd4
lea eax, [esp + 0x28]
mov byte [esi + 0x25], 0
push eax
mov edx, 0x10058b7c
mov ecx, edi
call fcn.10009010
add esp, 4
cmp dword [esp + 0x3c], 0
je 0x10041dd4
lea eax, [esp + 0x38]
mov edx, 0x10058b80
push eax
mov ecx, edi
call fcn.10009010
add esp, 4
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + 0x14]
call fcn.1000d4b0
mov esi, dword [esp + 0x24]
add esp, 4
mov edx, dword [esp + 0x18]
test al, al
je 0x10041e07
inc esi
mov byte [ebp + 0x24], 0
mov dword [esp + 0x20], esi
jmp 0x10041e07
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x23c
jb 0x10041c10
jmp 0x10041fe7
lea edx, [esp + 0x85]
mov dword [esp + 0x24], 0x36
mov dword [esp + 0x18], edx
mov ecx, dword [edx - 5]
test ecx, ecx
je 0x10041fd5
mov eax, dword [ecx]
mov ebp, dword [esp + eax*4 + 0x230]
cmp byte [ebp + 0x24], 0
je 0x10041fd5
mov esi, dword [ebp + 0x78]
test esi, esi
je 0x10041e60
cmp word [esi + 8], 1
jne 0x10041e60
mov eax, esi
jmp 0x10041e62
xor eax, eax
xor edi, edi
cmp byte [edx], 0
je 0x10041ebd
cmp dword [eax + 0x2c], edi
jne 0x10041ebd
mov bl, byte [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [ecx - 1]
cmp eax, 0x23a
ja 0x10041ea9
mov ecx, dword [ecx*4 + 0x1005d960]
test ecx, ecx
je 0x10041ea9
mov eax, dword [ecx]
mov edx, dword [esp + eax*4 + 0x230]
test edx, edx
je 0x10041e71
mov al, byte [ecx + 8]
cmp al, bl
je 0x10041ea1
test edi, edi
jne 0x10041e71
mov edi, edx
cmp al, bl
jne 0x10041e71
jmp 0x10041eb1
test edi, edi
je 0x10041fcd
mov edx, edi
mov ecx, ebp
call fcn.100420b0
mov esi, dword [ebp + 0x78]
test esi, esi
je 0x10041f33
cmp word [esi + 8], 1
jne 0x10041f33
cmp byte [esi + 0x25], 0
jne 0x10041ef6
cmp dword [esi + 0x1c], 0x81
jl 0x10041f33
cmp dword [ebp + 0x28], 0
jne 0x10041f33
lea ebx, [ebp + 0x38]
mov edx, 0x10058b7c
mov ecx, ebx
call fcn.10008d00
test eax, eax
je 0x10041f33
mov byte [esi + 0x25], 1
jmp 0x10041ef9
lea ebx, [ebp + 0x38]
cmp dword [esp + 0x2c], 0
je 0x10041f33
lea eax, [esp + 0x28]
mov byte [esi + 0x25], 0
push eax
mov edx, 0x10058b7c
mov ecx, ebx
call fcn.10009010
add esp, 4
cmp dword [esp + 0x3c], 0
je 0x10041f33
lea eax, [esp + 0x38]
mov edx, 0x10058b80
push eax
mov ecx, ebx
call fcn.10009010
add esp, 4
test edi, edi
je 0x10041fb4
mov esi, dword [edi + 0x78]
test esi, esi
je 0x10041fb4
cmp word [esi + 8], 1
jne 0x10041fb4
cmp byte [esi + 0x25], 0
jne 0x10041f77
cmp dword [esi + 0x1c], 0x81
jl 0x10041fb4
cmp dword [edi + 0x28], 0
jne 0x10041fb4
add edi, 0x38
mov edx, 0x10058b7c
mov ecx, edi
call fcn.10008d00
test eax, eax
je 0x10041fb4
mov byte [esi + 0x25], 1
jmp 0x10041f7a
add edi, 0x38
cmp dword [esp + 0x2c], 0
je 0x10041fb4
lea eax, [esp + 0x28]
mov byte [esi + 0x25], 0
push eax
mov edx, 0x10058b7c
mov ecx, edi
call fcn.10009010
add esp, 4
cmp dword [esp + 0x3c], 0
je 0x10041fb4
lea eax, [esp + 0x38]
mov edx, 0x10058b80
push eax
mov ecx, edi
call fcn.10009010
add esp, 4
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
cmp byte [edx - 1], 0
je 0x10041fd5
inc esi
mov byte [ebp + 0x24], 0
mov dword [esp + 0x20], esi
jmp 0x10041fd5
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
add edx, 8
sub dword [esp + 0x24], 1
mov dword [esp + 0x18], edx
jne 0x10041e30
test esi, esi
je 0x10042009
cmp dword [esp + 0x2c], 0
je 0x10042009
mov ecx, dword [esp + 0x6c]
push 0
push dword [esp + 0xb28]
mov ecx, dword [ecx + 8]
push 0
call fcn.10020030
mov eax, dword [esp + 0x38]
mov edi, dword [sym.imp.msvcrt.dll_free]
cmp eax, 0x1005bdb0
je 0x10042020
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, 0x1005bdb0
je 0x10042031
push eax
call edi
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xb10
ret 4