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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push ebx
push esi
mov ebx, 3
mov esi, dword [ecx + 0x30]
mov ecx, str.ENCODING
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409b57
test dl, dl
je 0x409b53
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409b57
add eax, 2
add ecx, 2
test dl, dl
jne 0x409b37
xor eax, eax
jmp 0x409b5c
sbb eax, eax
or eax, 1
test eax, eax
je 0x409fed
mov ecx, str.STDSTRINGS
mov eax, esi
jmp 0x409b70
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409b90
test dl, dl
je 0x409b8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409b90
add eax, 2
add ecx, 2
test dl, dl
jne 0x409b70
xor eax, eax
jmp 0x409b95
sbb eax, eax
or eax, 1
test eax, eax
je 0x409fed
push edi
mov edi, dword [ebp + 0x10]
cmp dword [edi + 0x48], 0
je 0x409bba
push dword [ebp + 8]
call fcn.0040a000
add esp, 4
test al, al
jne 0x409d9d
cmp dword [edi + 0x30], 0
je 0x409bf2
mov eax, str.SECURITY_LABEL
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x409be5
test cl, cl
je 0x409be1
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x409be5
add esi, 2
add eax, 2
test cl, cl
jne 0x409bc5
xor eax, eax
jmp 0x409bea
sbb eax, eax
or eax, 1
test eax, eax
je 0x409d9d
mov eax, dword [ebp + 0xc]
sub eax, 2
je 0x409c1c
dec eax
je 0x409c0f
dec eax
jne 0x409d9d
test byte [edi + 0x40], 4
jne 0x409c26
pop edi
pop esi
pop ebx
pop ebp
ret
test byte [edi + 0x40], 2
jne 0x409c26
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
test byte [edi + 0x40], 1
je 0x409d9d
cmp dword [edi + 0x88], 0
lea eax, [edi + 0x88]
mov esi, dword [ebp + 8]
je 0x409c55
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x409d9d
push ecx
push eax
call fcn.00403070
add esp, 8
test al, al
je 0x409d9d
cmp dword [edi + 0x64], 0
je 0x409dcc
mov esi, dword [esi + 0x30]
mov ecx, str.TABLE
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409c90
test dl, dl
je 0x409c8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409c90
add eax, 2
add ecx, 2
test dl, dl
jne 0x409c70
xor eax, eax
jmp 0x409c95
sbb eax, eax
or eax, 1
test eax, eax
je 0x409da4
mov ecx, str.TABLE_DATA
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409cc4
test dl, dl
je 0x409cc0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409cc4
add eax, 2
add ecx, 2
test dl, dl
jne 0x409ca4
xor eax, eax
jmp 0x409cc9
sbb eax, eax
or eax, 1
test eax, eax
je 0x409da4
mov ecx, str.INDEX
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409cf8
test dl, dl
je 0x409cf4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409cf8
add eax, 2
add ecx, 2
test dl, dl
jne 0x409cd8
xor eax, eax
jmp 0x409cfd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409d0f
cmp dword [edi + 0x68], eax
je 0x409d9d
lea eax, [edi + 0x78]
jmp 0x409d85
mov ecx, str.FUNCTION
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409d36
test dl, dl
je 0x409d32
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409d36
add eax, 2
add ecx, 2
test dl, dl
jne 0x409d16
xor eax, eax
jmp 0x409d3b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409d4c
cmp dword [edi + 0x6c], eax
je 0x409d9d
lea eax, [edi + 0x80]
jmp 0x409d85
mov eax, str.TRIGGER
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x409d71
test cl, cl
je 0x409d6d
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x409d71
add esi, 2
add eax, 2
test cl, cl
jne 0x409d51
xor eax, eax
jmp 0x409d76
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409d9d
cmp dword [edi + 0x70], eax
je 0x409d9d
lea eax, [edi + 0x90]
cmp dword [eax], 0
je 0x409dcc
mov ecx, dword [ebp + 8]
push dword [ecx + 0x1c]
push eax
call fcn.00403070
add esp, 8
test al, al
jne 0x409dcc
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
cmp dword [edi + 0x74], 0
je 0x409d9d
cmp dword [edi + 0x98], 0
lea eax, [edi + 0x98]
je 0x409dcc
mov ecx, dword [ebp + 8]
push dword [ecx + 0x1c]
push eax
call fcn.00403070
add esp, 8
test al, al
je 0x409d9d
mov eax, dword [ebp + 8]
cmp byte [eax + 0x18], 0
jne 0x409f2d
mov edx, dword [eax + 0x30]
mov ecx, str.SEQUENCE_SET
mov eax, edx
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x409e03
test bl, bl
je 0x409dff
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x409e03
add eax, 2
add ecx, 2
test bl, bl
jne 0x409de3
xor eax, eax
jmp 0x409e08
sbb eax, eax
or eax, 1
test eax, eax
je 0x409f28
mov ecx, str.BLOB
mov eax, edx
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x409e37
test bl, bl
je 0x409e33
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x409e37
add eax, 2
add ecx, 2
test bl, bl
jne 0x409e17
xor eax, eax
jmp 0x409e3c
sbb eax, eax
or eax, 1
test eax, eax
je 0x409f28
mov eax, 0x41c820
lea esp, [esp]
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x409e70
test cl, cl
je 0x409e6c
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x409e70
add edx, 2
add eax, 2
test cl, cl
jne 0x409e50
xor eax, eax
jmp 0x409e75
sbb eax, eax
or eax, 1
mov esi, dword [sym.imp.MSVCR120.dll_strncmp]
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x409e99
push 0xd
push str.LARGE_OBJECT
push dword [ebx + 0x1c]
call esi
add esp, 0xc
test eax, eax
je 0x409f28
mov eax, dword [ebx + 0x30]
mov ecx, str.COMMENT
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409ec1
test dl, dl
je 0x409ebd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409ec1
add eax, 2
add ecx, 2
test dl, dl
jne 0x409ea1
xor eax, eax
jmp 0x409ec6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409edd
push 0xd
push str.LARGE_OBJECT
push dword [ebx + 0x1c]
call esi
add esp, 0xc
test eax, eax
je 0x409f28
mov eax, dword [ebx + 0x30]
mov ecx, str.SECURITY_LABEL
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409f05
test dl, dl
je 0x409f01
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409f05
add eax, 2
add ecx, 2
test dl, dl
jne 0x409ee5
xor eax, eax
jmp 0x409f0a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409f21
push 0xd
push str.LARGE_OBJECT
push dword [ebx + 0x1c]
call esi
add esp, 0xc
test eax, eax
je 0x409f28
mov ebx, 1
jmp 0x409f2d
mov ebx, 2
mov esi, dword [ebp + 8]
mov ecx, str._Init_
mov eax, dword [esi + 0x30]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409f58
test dl, dl
je 0x409f54
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409f58
add eax, 2
add ecx, 2
test dl, dl
jne 0x409f38
xor eax, eax
jmp 0x409f5d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409f9d
mov eax, dword [esi + 0x1c]
mov ecx, str.Max_OID
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x409f90
test dl, dl
je 0x409f8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x409f90
add eax, 2
add ecx, 2
test dl, dl
jne 0x409f70
xor eax, eax
jmp 0x409f95
sbb eax, eax
or eax, 1
test eax, eax
je 0x409d9d
cmp dword [edi + 0x3c], 0
je 0x409fa6
and ebx, 1
cmp dword [edi + 0x38], 0
je 0x409faf
and ebx, 2
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x409fcb
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409fc0
sub ecx, edx
jne 0x409fce
and ebx, 0xfffffffe
mov ecx, dword [edi + 0xcc]
test ecx, ecx
je 0x409fe6
mov eax, dword [esi + 0x10]
cmp byte [eax + ecx - 1], 0
je 0x409d9d
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret
pop esi
mov eax, 4
pop ebx
pop ebp
ret