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

Disassembly:
sub esp, 0x50
push esi
mov esi, dword [esp + 0x74]
push edi
xor edi, edi
cmp dword [esi + 8], edi
mov dword [esp + 8], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edi
jne 0x10049081
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push edi
push eax
push ecx
call fcn.10047e90
add esp, 0xc
cmp eax, edi
mov dword [esi + 8], eax
jne 0x10049081
pop edi
mov eax, 0x1b
pop esi
add esp, 0x50
ret
cmp dword [esi + 0x30], edi
jne 0x100490d2
mov eax, dword [0x10073904]
mov ecx, dword [eax + 0x44]
lea edx, [esp + 0x78]
push edx
push str.Kerberos
call ecx
test eax, eax
je 0x100490a9
pop edi
mov eax, 4
pop esi
add esp, 0x50
ret
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 8]
mov dword [esi + 0x2c], edx
push eax
mov eax, dword [0x10073904]
mov ecx, dword [eax + 0x40]
call ecx
mov edx, dword [esi + 0x2c]
push edx
call dword [section..data]
add esp, 4
cmp eax, edi
mov dword [esi + 0x30], eax
je 0x10049076
cmp dword [esi], edi
push ebx
push ebp
mov ebp, 1
lea ebx, [ebp + 1]
jne 0x10049176
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x10049116
cmp byte [eax], 0
je 0x10049116
mov ecx, dword [esp + 0x6c]
lea edi, [esi + 0xc]
push edi
push ecx
push eax
call fcn.1001d4a0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100493bd
mov dword [esi + 0x28], edi
xor edi, edi
jmp 0x10049119
mov dword [esi + 0x28], edi
push 8
push ebp
call dword [0x10072010]
add esp, 8
cmp eax, edi
mov dword [esi], eax
je 0x1004928d
mov ecx, dword [0x10073904]
lea edx, [esp + 0x28]
push edx
mov edx, dword [ecx + 0xc]
push eax
mov eax, dword [esi + 0x28]
push edi
push edi
push eax
push edi
push ebx
push str.Kerberos
push edi
call edx
test eax, eax
je 0x1004915f
pop ebp
pop ebx
pop edi
mov eax, 0x43
pop esi
add esp, 0x50
ret
push 8
push ebp
call dword [0x10072010]
add esp, 8
cmp eax, edi
mov dword [esi + 4], eax
je 0x1004928d
mov ecx, dword [esp + 0x7c]
cmp ecx, edi
je 0x100491f7
mov al, byte [ecx]
test al, al
je 0x100491f7
cmp al, 0x3d
je 0x100491a7
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x18]
push edx
push ecx
call fcn.10021650
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x10], eax
jne 0x100493bd
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x100491ce
mov eax, dword [esp + 0x64]
push str.GSSAPI_handshake_failure__empty_challenge_message__n
push eax
call fcn.10013910
add esp, 8
pop ebp
pop ebx
pop edi
mov eax, 0x3d
pop esi
add esp, 0x50
ret
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
push edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], eax
call fcn.100163b0
add esp, 4
mov dword [esp + 0x3c], eax
mov edx, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
lea eax, [esp + 0x30]
push edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ecx
call fcn.100163b0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
je 0x1004922f
mov ecx, dword [esi + 4]
jmp 0x10049231
xor ecx, ecx
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x20]
push edx
neg eax
lea edx, [esp + 0x50]
push edx
sbb eax, eax
lea edx, [esp + 0x2c]
push edx
push edi
lea edx, [esp + 0x68]
and eax, edx
mov edx, dword [esi + 8]
push eax
mov eax, dword [esp + 0x90]
push 0x10
neg eax
push edi
sbb eax, eax
and eax, ebx
push eax
mov eax, dword [esi]
push edx
push ecx
mov ecx, dword [0x10073904]
mov edx, dword [ecx + 0x18]
push eax
call edx
mov edi, eax
mov eax, dword [esp + 0x14]
push eax
call dword [0x10072004]
add esp, 4
cmp edi, 0x80090300
jne 0x1004929a
pop ebp
pop ebx
pop edi
mov eax, 0x1b
pop esi
add esp, 0x50
ret
test edi, edi
je 0x100492b3
cmp edi, 0x90312
je 0x100492b3
pop ebp
pop ebx
pop edi
mov eax, 0x5e
pop esi
add esp, 0x50
ret
mov ebp, dword [esi + 4]
mov eax, 8
mov ecx, ebp
lea edx, [esp + 0x20]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x100492d9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100492c1
test eax, eax
je 0x10049336
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x10049328
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10049336
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x10049328
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10049336
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x10049328
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10049336
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x10049336
test edi, edi
mov eax, 1
jg 0x10049338
or eax, 0xffffffff
jmp 0x10049338
xor eax, eax
test eax, eax
je 0x10049358
mov edx, dword [0x10073904]
mov eax, dword [edx + 0x24]
push ebp
call eax
mov esi, dword [esi + 4]
mov ecx, dword [esp + 0x20]
mov dword [esi], ecx
mov edx, dword [esp + 0x24]
mov dword [esi + 4], edx
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1004938f
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x68]
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
push ecx
call fcn.10021930
add esp, 0x14
pop ebp
pop ebx
pop edi
mov dword [esp + 4], eax
pop esi
add esp, 0x50
ret
cmp dword [esp + 0x78], 0
je 0x100493b9
push 0x1006e797
call dword [0x1007200c]
mov edx, dword [esp + 0x88]
add esp, 4
test eax, eax
mov dword [edx], eax
jne 0x100493b9
mov dword [esp + 0x10], 0x1b
mov eax, dword [esp + 0x10]
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x50
ret