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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x58
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], 0
mov dword [ecx], 0
mov dword [edx], 0
mov dword [esp + 0x54], 0
push eax
call fcn.0045b0f0
add esp, 0x10
mov edi, eax
mov eax, dword [esp + 0x70]
or ah, 4
test ah, 1
mov ebp, 1
mov dword [esp + 0x3c], 0
jne 0x498d0a
lea ebx, [edi + 1]
mov dword [esp + 0x3c], ebx
test ah, 2
mov dword [esp + 0x38], 0
jne 0x498d1e
lea esi, [edi + 1]
mov dword [esp + 0x38], esi
test ah, 4
mov dword [esp + 0x34], 0
jne 0x498d32
lea eax, [edi + 1]
mov dword [esp + 0x34], eax
cmp edi, 1
je 0x498df1
lea edx, [edi - 2]
test edx, edx
mov dword [esp + 0xc], edx
mov esi, edx
js 0x499108
lea esi, [esi]
sub esp, 8
push esi
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0045b100
add esp, 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
mov ebx, eax
call fcn.0046af60
mov dword [esp], ebx
call fcn.0049cff0
add esp, 0x10
test eax, eax
je 0x4990fc
mov edx, dword [ebx + 0x28]
test dh, 4
je 0x499088
mov ebp, 0xffffffff
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x498dc0
dec dword [esp + 0x3c]
and edx, 0x20
jne 0x498dc0
mov eax, dword [eax + 0x10]
cmp eax, 0xffffffff
je 0x498dc0
cmp eax, dword [esp + 0x3c]
jge 0x498dc0
mov dword [esp + 0x3c], eax
lea esi, [esi]
lea edi, [edi]
dec esi
jns 0x498d50
cmp ebp, 1
je 0x499108
cmp ebp, 2
je 0x49951b
cmp ebp, 2
mov edx, 1
je 0x4990fe
jg 0x4994f5
test ebp, ebp
je 0x4990fc
mov edi, dword [esp + 0x48]
mov eax, dword [edi]
lea edx, [eax + 0x10]
cmp dword [edi + 4], 1
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 1
jle 0x499020
mov edi, eax
sub esp, 0xc
mov eax, dword [edi + 0x10]
push eax
call fcn.0049cff0
add esp, 0x10
mov dword [esp + 0x24], eax
xor esi, esi
sub esp, 0xc
mov ebp, dword [esp + 0x30]
mov eax, dword [ebp + 4]
push eax
call fcn.0045b0f0
add esp, 0x10
cmp eax, esi
jle 0x498e91
lea esi, [esi]
lea edi, [edi]
sub esp, 8
push esi
mov ebx, dword [esp + 0x30]
mov ebp, dword [ebx + 4]
push ebp
call fcn.0045b100
add esp, 0x10
test byte [eax], 2
mov ebx, eax
je 0x4990b0
test byte [edi + 0x1d], 2
jne 0x4990b0
inc esi
sub esp, 0xc
mov ebp, dword [esp + 0x30]
mov eax, dword [ebp + 4]
push eax
call fcn.0045b0f0
add esp, 0x10
cmp eax, esi
jg 0x498e50
xor ebp, ebp
test byte [edi + 0x1d], 2
jne 0x498f0a
sub esp, 0xc
mov esi, dword [edi + 4]
push esi
call fcn.0045b0f0
add esp, 0x10
cmp eax, ebp
jle 0x498ee1
lea esi, [esi]
sub esp, 8
push ebp
mov ebx, dword [edi + 4]
push ebx
call fcn.0045b100
mov esi, dword [eax + 8]
add esp, 0x10
test esi, esi
mov ebx, eax
je 0x499260
sub esp, 0xc
mov esi, dword [edi + 4]
push esi
call fcn.0045b0f0
inc ebp
add esp, 0x10
cmp eax, ebp
jg 0x498eb0
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x498f0a
push 0
mov ecx, dword [edi + 8]
push ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
push edx
mov ebx, dword [esp + 0x34]
push ebx
call fcn.004cf250
add esp, 0x10
test eax, eax
je 0x49906c
mov esi, dword [esp + 0x28]
mov ebp, dword [edi + 0x14]
sub esp, 0xc
push ebp
call fcn.0045b0f0
mov ebx, eax
add esp, 0x10
dec ebx
js 0x498f60
sub esp, 8
push ebx
mov edx, dword [edi + 0x14]
push edx
call fcn.0045b100
mov edx, eax
mov eax, dword [eax]
add esp, 0x10
test byte [eax], 3
je 0x498f1f
mov ebp, dword [edx + 4]
sub esp, 0xc
dec dword [ebp + 8]
push edx
call fcn.004582e0
pop eax
pop edx
push ebx
mov ecx, dword [edi + 0x14]
push ecx
call fcn.0045add0
add esp, 0x10
dec ebx
jns 0x498f22
lea esi, [esi]
sub esi, 0x10
sub esp, 0xc
mov ebx, dword [esi + 4]
push ebx
call fcn.0045b0f0
mov ebx, eax
add esp, 0x10
lea esi, [esi]
lea edi, [edi]
dec ebx
js 0x498fc0
sub esp, 8
push ebx
mov edx, dword [esi + 4]
push edx
call fcn.0045b100
mov edx, eax
mov eax, dword [eax + 8]
add esp, 0x10
test eax, eax
jne 0x498f80
mov ebp, dword [edx + 4]
sub esp, 0xc
dec dword [ebp + 8]
push edx
call fcn.004582e0
pop ebp
pop eax
push ebx
mov ecx, dword [esi + 4]
push ecx
call fcn.0045add0
add esp, 0x10
dec ebx
jns 0x498f83
lea esi, [esi]
mov eax, dword [esi + 8]
test eax, eax
je 0x498ff0
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x498ff0
mov eax, dword [eax + 4]
test eax, eax
je 0x498fd8
dec dword [eax + 8]
sub esp, 0xc
mov eax, dword [esi + 8]
push eax
call fcn.004582e0
add esp, 0x10
mov dword [esi + 8], 0
mov esi, esi
mov edx, dword [esp + 0x30]
cmp dword [edx], esi
jne 0x498f60
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x499635
inc dword [esp + 0x2c]
mov esi, dword [esp + 0x2c]
add dword [esp + 0x28], 0x10
add edi, 0x10
cmp dword [edx + 4], esi
jg 0x498e16
mov edi, dword [esp + 0x48]
mov dword [esp + 0x20], edi
mov ecx, dword [edi + 4]
mov eax, ecx
mov esi, dword [esp + 0x20]
shl eax, 4
mov edx, dword [esi]
mov ebx, dword [eax + edx - 8]
test ebx, ebx
je 0x49930a
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov ecx, dword [edx + 0xc]
add esi, 0xc
test ecx, ecx
jne 0x499529
call fcn.004cf180
test eax, eax
mov ebp, dword [esp + 0x20]
mov dword [ebp + 0xc], eax
jne 0x499556
sub esp, 0xc
mov esi, dword [esp + 0x54]
push esi
call fcn.00498bb0
add esp, 0x10
add esp, 0x4c
pop ebx
pop esi
xor edx, edx
pop edi
mov eax, edx
pop ebp
ret
cmp ebp, 1
jne 0x498d91
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x498d91
mov bp, 2
jmp 0x498d91
sub esp, 8
mov ecx, dword [ebx + 4]
push ecx
push edi
call fcn.004cf1f0
add esp, 0x10
test eax, eax
je 0x4990df
push 0
push eax
push ebx
mov edx, dword [esp + 0x34]
push edx
call fcn.004cf250
add esp, 0x10
test eax, eax
je 0x49906c
inc esi
jmp 0x498e7a
mov eax, dword [edi + 8]
test eax, eax
jne 0x4990c4
inc esi
jmp 0x498e7a
sub esp, 0xc
mov esi, dword [esp + 0x4c]
push esi
call fcn.00498bb0
add esp, 0x10
xor edx, edx
add esp, 0x4c
pop ebx
pop esi
pop edi
mov eax, edx
pop ebp
ret
push eax
push 0x97
push str..cryptox509v3pcy_tree.c
push 0x18
call fcn.00457fd0
add esp, 0x10
test eax, eax
mov dword [esp + 0x40], eax
je 0x4990fc
mov dword [eax + 0x14], 0
push ebp
push 0x9d
mov ebp, edi
push str..cryptox509v3pcy_tree.c
shl ebp, 4
push ebp
call fcn.00457fd0
add esp, 0xc
mov esi, dword [esp + 0x44]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
push ebp
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov ebx, dword [esp + 0x44]
mov dword [ebx + 4], edi
mov esi, dword [ebx]
push 0
push edi
push 0x2ea
call fcn.004694a0
pop edx
pop ecx
push eax
push 0
call fcn.004cf3d0
add esp, 0x10
test eax, eax
je 0x4990ec
push ebx
push 0
push eax
push esi
call fcn.004cf250
add esp, 0x10
test eax, eax
je 0x4990ec
mov ebp, dword [esp + 0xc]
test ebp, ebp
js 0x499237
sub esp, 8
push ebp
mov ebx, dword [esp + 0x74]
push ebx
call fcn.0045b100
mov dword [esp], eax
mov ebx, eax
call fcn.0049cff0
mov dword [esp], 0xbc
push str..cryptox509v3pcy_tree.c
push 3
push 1
lea edx, [ebx + 0x10]
mov edi, eax
push edx
call fcn.0046f100
mov eax, dword [edi]
add esi, 0x10
add esp, 0x20
test eax, eax
mov dword [esi], ebx
jne 0x499203
or dword [esi + 0xc], 0x200
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x4992be
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x49921a
test ebp, ebp
jne 0x499221
or dword [esi + 0xc], 0x200
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x4992e7
or dword [esi + 0xc], 0x400
dec ebp
jns 0x4991bb
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
test edi, edi
mov dword [esp + 0x48], ebp
jne 0x498df1
mov ecx, dword [esp + 0x64]
mov dword [ecx], 1
jmp 0x498df1
push edx
mov esi, dword [eax]
mov eax, dword [esi]
and eax, 0x10
push eax
mov edx, dword [ebx]
mov ecx, dword [edx + 4]
push ecx
push 0
call fcn.004cf3d0
add esp, 0x10
test eax, eax
mov esi, eax
je 0x49906c
mov ecx, dword [edi + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x30]
or dword [esi], 4
mov dword [esi + 8], edx
push ecx
push ebx
push esi
mov ebx, dword [esp + 0x34]
push ebx
call fcn.004cf250
add esp, 0x10
test eax, eax
jne 0x498ecd
sub esp, 0xc
push esi
call fcn.004cf350
add esp, 0x10
jmp 0x49906c
mov eax, dword [edi + 0xc]
dec dword [esp + 0x38]
test eax, eax
jle 0x499221
cmp eax, dword [esp + 0x38]
jge 0x499221
mov edx, dword [esp + 0x34]
test edx, edx
mov dword [esp + 0x38], eax
je 0x49922d
mov eax, dword [edi + 0x14]
dec dword [esp + 0x34]
test eax, eax
jle 0x499234
cmp eax, dword [esp + 0x34]
jge 0x499234
dec ebp
mov dword [esp + 0x34], eax
jmp 0x499235
mov ebp, dword [esp + 0x20]
add ebp, 0xc
mov dword [esp + 0x1c], ebp
cmp ecx, 1
mov edi, edx
mov dword [esp + 0x18], 1
jle 0x499390
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x499390
add edi, 0x10
xor esi, esi
sub esp, 0xc
mov eax, dword [edi + 4]
push eax
call fcn.0045b0f0
add esp, 0x10
cmp eax, esi
jle 0x49937f
lea esi, [esi]
lea edi, [edi]
sub esp, 8
push esi
mov edx, dword [edi + 4]
push edx
call fcn.0045b100
add esp, 0x10
cmp dword [eax + 4], ebp
mov ebx, eax
je 0x49949b
inc esi
sub esp, 0xc
mov eax, dword [edi + 4]
push eax
call fcn.0045b0f0
add esp, 0x10
cmp eax, esi
jg 0x499350
inc dword [esp + 0x18]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
cmp dword [ebp + 4], esi
jg 0x499324
lea edi, [esp + 0x44]
cmp dword [esp + 0x1c], edi
mov dword [esp + 8], 2
je 0x4993b5
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp + 8], 1
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
sub esp, 0xc
mov ebx, dword [esp + 0x78]
push ebx
call fcn.0045b0f0
add esp, 0x10
test eax, eax
jle 0x4995ca
mov ebp, dword [edi + 4]
shl ebp, 4
add ebp, dword [edi]
mov esi, dword [ebp - 8]
mov dword [esp + 0x10], esi
xor ebx, ebx
jmp 0x499411
sub esp, 8
push ebx
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0045b100
mov dword [esp], eax
call fcn.00469cb0
add esp, 0x10
cmp eax, 0x2ea
je 0x4995c6
inc ebx
sub esp, 0xc
mov edx, dword [esp + 0x78]
push edx
call fcn.0045b0f0
add esp, 0x10
cmp eax, ebx
jg 0x4993ec
xor ebp, ebp
sub esp, 0xc
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0045b0f0
add esp, 0x10
cmp eax, ebp
jle 0x4995ca
sub esp, 8
push ebp
mov eax, dword [esp + 0x78]
push eax
call fcn.0045b100
pop ecx
pop ebx
push eax
mov ebx, dword [esp + 0x20]
push ebx
mov esi, eax
call fcn.004cf1a0
add esp, 0x10
test eax, eax
mov ebx, eax
je 0x49956f
mov edx, dword [edi + 0x10]
test edx, edx
jne 0x499480
call fcn.0045ab80
test eax, eax
mov dword [edi + 0x10], eax
je 0x4995ca
sub esp, 8
push ebx
mov esi, dword [edi + 0x10]
push esi
call fcn.0045ae90
add esp, 0x10
test eax, eax
je 0x49906c
inc ebp
jmp 0x499427
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
test eax, eax
jne 0x4994d9
call fcn.004cf180
test eax, eax
mov edx, dword [esp + 0x1c]
mov dword [edx], eax
je 0x49906c
sub esp, 8
push ebx
mov ebx, dword [esp + 0x28]
mov edx, dword [ebx]
push edx
call fcn.0045ae90
add esp, 0x10
test eax, eax
je 0x49906c
inc esi
jmp 0x49936c
sub esp, 8
push ebx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
push eax
call fcn.0045b270
add esp, 0x10
inc eax
je 0x4994b8
inc esi
jmp 0x49936c
cmp ebp, 5
je 0x49924b
cmp ebp, 6
jne 0x498df1
mov ebx, dword [esp + 0x64]
mov edx, 0xfffffffe
mov dword [ebx], 1
jmp 0x4990fe
mov edi, dword [esp + 0x3c]
test edi, edi
jne 0x498dd5
jmp 0x499507
sub esp, 8
push ebx
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
push eax
call fcn.0045b270
add esp, 0x10
inc eax
je 0x499556
lea ecx, [esp + 0x44]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov edx, dword [esi]
mov ecx, dword [esi + 4]
jmp 0x499315
sub esp, 8
push ebx
mov ebx, dword [esi]
push ebx
call fcn.0045ae90
add esp, 0x10
test eax, eax
je 0x49906c
jmp 0x499540
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x499498
push eax
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov edx, dword [ebx]
and edx, 0x10
push edx
push esi
push 0
call fcn.004cf3d0
add esp, 0x10
test eax, eax
mov edx, eax
je 0x49906c
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ebx, dword [eax + 8]
mov dword [edx + 8], ebx
mov dword [edx], 0xc
push edi
mov esi, dword [ecx + 4]
push esi
push edx
push 0
call fcn.004cf250
mov ebx, eax
add esp, 0x10
jmp 0x499469
or dword [edi + 0x14], 2
cmp dword [esp + 8], 2
je 0x499623
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4995e0
mov ebp, dword [esp + 0x60]
mov dword [ebp], eax
mov eax, dword [esp + 0x64]
mov ebx, dword [eax]
test ebx, ebx
jne 0x4995f4
mov edx, 1
jmp 0x4990fe
sub esp, 0xc
mov edx, dword [esp + 0x54]
push edx
call fcn.004cf060
mov dword [esp], eax
call fcn.0045b0f0
add esp, 0x10
test eax, eax
mov edx, 0xfffffffe
jle 0x4990fe
mov edx, 1
jmp 0x4990fe
sub esp, 0xc
mov edi, dword [esp + 0x50]
push edi
call fcn.0045aaa0
add esp, 0x10
jmp 0x4995d1
sub esp, 0xc
mov ebx, dword [esp + 0x54]
push ebx
call fcn.00498bb0
add esp, 0x10
mov ebp, dword [esp + 0x64]
mov edx, dword [ebp]
cmp edx, 1
sbb edi, edi
and edi, 3
lea edx, [edi - 2]
jmp 0x4990fe