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

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0xd0
push ebx
mov eax, dword [ecx + 8]
push esi
mov edx, dword [ecx]
mov dword [esp + 0x24], eax
push edi
push ebp
mov eax, dword [edx]
mov ecx, dword [edx + 0xc]
lea edi, [esp + 0x30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
xor eax, eax
mov ecx, 0x18
rep stosd dword es:[edi], eax
lea edi, [esp + 0x94]
mov ecx, 0x13
rep stosd dword es:[edi], eax
mov ebx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov esi, dword [esp + 0xe4]
push str._INDEX_DATE
mov dword [esp + 0x34], ebx
push eax
mov dword [esp + 0x6c], eax
push esi
mov ecx, dword [edx + 4]
mov dword [esp + 0x74], ecx
call fcn.004cbe70
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x78], eax
mov word [esp + 0x7c], 0xffff
add esp, 0xc
push str._SECURITY
push ecx
push esi
call fcn.004cbe70
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x28]
add esp, 0xc
mov al, byte [eax + 0x5a]
mov ecx, dword [esp + 0x1c]
and al, 1
cmp al, 1
sbb eax, eax
add eax, 2
mov dword [esp + 0x7c], eax
cmp byte [ecx + 0x60], 0
je 0x463203
mov dword [esp + 0x80], 1
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x68], 0
je 0x463220
mov al, byte [eax + 0x6a]
and al, 1
cmp al, 1
sbb eax, eax
add eax, 2
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x98], esi
mov dword [esp + 0xa4], eax
mov edx, dword [ecx + 0x30]
test eax, eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa8], edx
je 0x463261
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0xd4], edx
jmp 0x46326c
mov dword [esp + 0xd4], 0
push esi
call fcn.004d68d0
mov dword [esp + 0x94], eax
add esp, 4
mov eax, dword [esp + 0x20]
push esi
mov ecx, dword [eax + 0xc8]
mov edi, dword [ecx + 0x64]
test edi, edi
je 0x4632b2
shr edi, 0xa
call fcn.004d67a0
add esp, 4
cmp eax, edi
ja 0x4632a0
push esi
jmp 0x4632b2
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc8]
mov eax, dword [ecx + 0x64]
shr eax, 0xa
jmp 0x4632ba
call fcn.004d67a0
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0
jle 0x4632d8
mov eax, dword [esp + 0x18]
mov ecx, 5
shl eax, 2
cdq
idiv ecx
mov dword [esp + 0x18], eax
mov eax, 0x800
cmp dword [esp + 0x18], eax
jge 0x4632e7
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0xf0]
mov ax, word [ecx]
mov cx, word [esp + 0xf4]
mov word [esp + 0x3a], ax
xor eax, eax
mov word [esp + 0x38], ax
mov dword [esp + 0x24], eax
cmp word [esp + 0x3a], cx
jae 0x463788
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x14], 0
mov eax, dword [ecx + 0x2b0]
mov edx, dword [eax + 0x20]
cmp dword [esp + 0x24], edx
jae 0x463368
mov ecx, dword [eax + 0x24]
mov eax, dword [esp + 0x24]
lea ebx, [eax + eax*2]
xor eax, eax
mov ax, word [esp + 0x3a]
lea edi, [ecx + ebx*4 + 4]
cmp dword [edi], eax
je 0x46335a
add edi, 0xc
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edx
jb 0x463347
jmp 0x463368
mov eax, dword [esp + 0x24]
lea edx, [eax + eax*2]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x8c], ecx
cmp ecx, eax
je 0x4634c4
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x14]
mov word [ecx + 0x26c], ax
mov word [ecx + 0x2b8], ax
mov edi, dword [edx]
cmp edi, eax
jne 0x4633a1
mov edi, 0x539a04
cmp word [esp + 0x38], 0
jbe 0x463457
mov ecx, dword [esp + 0xe8]
mov ax, word [ecx + 0x50]
cmp ax, 0x7d0
je 0x463788
mov ecx, dword [ecx + 0x48]
mov ebx, dword [esp + 0x38]
movsx eax, ax
dec eax
and ebx, 0xffff
shl eax, 0x10
add eax, ecx
cdq
idiv ebx
mov ebx, eax
mov edx, dword [esp + 0xf4]
and edx, 0xffff
xor eax, eax
mov ax, word [esp + 0x3a]
sub edx, eax
mov eax, 0x20000
dec edx
sub eax, ecx
imul edx, ebx
cmp edx, eax
jle 0x463457
push esi
call fcn.004d68d0
sub eax, dword [esp + 0x94]
add esp, 4
cmp eax, dword [esp + 0x18]
jge 0x463788
push esi
call fcn.004d67a0
add esp, 4
mov ebp, eax
test ebp, ebp
jle 0x463788
lea eax, [ebx + ebx*2]
mov ecx, dword [esp + 0xe8]
cdq
sub eax, edx
mov edx, 0x10000
sar eax, 1
sub edx, dword [ecx + 0x48]
cmp eax, edx
jle 0x463457
cmp ebp, 0xc00
jb 0x463788
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x3c]
movsx ax, byte [eax + 4]
push eax
push ecx
call fcn.0046e3d0
mov ecx, dword [esp + 0xf0]
add esp, 8
xor edx, edx
mov eax, dword [ecx + 0x2b0]
mov dx, word [esp + 0x3a]
mov dword [esp + 0xac], edx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x463499
push edx
push 0
push eax
call ecx
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov ax, word [ecx + 8]
test ah, 0x40
jne 0x4634c4
test al, 4
je 0x463519
push edi
xor eax, eax
mov ax, word [esp + 0x3e]
inc eax
push eax
push 0x104e
push 4
push esi
call fcn.004bda00
add esp, 0x14
inc dword [esp + 0x34]
cmp dword [esp + 0x14], 0
je 0x4634d9
mov ecx, dword [esp + 0x14]
or word [ecx + 8], 0x204
mov eax, dword [esp + 0x1c]
push 1
lea ecx, [esp + 0x34]
push eax
push ecx
push esi
call fcn.00463bc0
add esp, 0x10
test ax, ax
jne case.default.0x46363a
mov ax, word [esp + 0xf4]
inc word [esp + 0x3a]
inc word [esp + 0x38]
cmp word [esp + 0x3a], ax
jb 0x463314
jmp 0x463788
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0xd0]
mov ecx, dword [edx + 0x30]
test ecx, ecx
je 0x46355f
mov eax, dword [eax + 0xd4]
test eax, eax
je 0x46355f
push eax
push ecx
lea eax, [esp + 0x38]
push eax
push esi
call fcn.00463940
add esp, 0x10
test ax, ax
je 0x46355f
push edi
xor eax, eax
mov ax, word [esp + 0x3e]
inc eax
push eax
push 0xffff915f
push 2
jmp 0x4634bb
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.004d2610
add esp, 8
test ax, ax
je 0x463597
mov ecx, dword [esp + 0x14]
push edi
xor eax, eax
or byte [ecx + 9], 3
mov ax, word [esp + 0x3e]
inc eax
push eax
push 0xffff915f
push 2
jmp 0x4634bb
mov ebx, 0x1388
cmp ebx, dword [esp + 0x40]
jae 0x4635c6
push 0
push 0
push 0
push 0
push esi
call fcn.004b5af0
add esp, 0x14
test ax, ax
jne case.default.0x46363a
mov ebx, dword [esp + 0x40]
add ebx, 0x1388
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.004d2640
add esp, 8
test ax, ax
jne 0x46360a
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x30]
mov bp, word [eax + 0x16]
push ebp
push eax
push edi
push ecx
push esi
call fcn.00463cf0
mov word [esp + 0x26], ax
mov ecx, dword [esp + 0x3c]
add esp, 0x14
push ecx
call fcn.004d2700
add esp, 4
jmp 0x46362d
cmp ax, 0xffff
mov ebp, eax
je 0x463616
mov bp, 0x12b
lea eax, [esp + 0x30]
push ebp
push 0
push edi
push eax
push esi
call fcn.00463cf0
mov word [esp + 0x26], ax
add esp, 0x14
movsx eax, word [esp + 0x12]
sub eax, 2
cmp eax, 7
ja case.default.0x46363a
jmp dword [eax*4 + 0x463848]
lea eax, [esp + 0x30]
push edi
push eax
push esi
call fcn.00463ae0
add esp, 0xc
test ax, ax
jne 0x463674
jmp case.0x46363a.2
push edi
xor eax, eax
mov ax, word [esp + 0x3e]
inc eax
push eax
push 0xffff915e
push 3
push esi
call fcn.004bda00
add esp, 0x14
mov eax, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x34]
push eax
push ecx
push esi
call fcn.00463bc0
add esp, 0x10
test ax, ax
je 0x4634f7
mov ax, 0xfffe
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xd0
ret
movsx eax, bp
push eax
push edi
xor eax, eax
mov ax, word [esp + 0x42]
inc eax
push eax
push 0xffff915b
push 3
push esi
call fcn.004bda00
add esp, 0x18
jmp 0x4634c4
push edi
xor eax, eax
mov ax, word [esp + 0x3e]
inc eax
push eax
push 0xffff9160
jmp 0x4634b9
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
push eax
push ecx
xor eax, eax
mov ax, word [esp + 0x42]
push edx
push edi
inc eax
push eax
push 0x1044
push 5
push esi
call fcn.004bda00
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x50]
add esp, 0x20
push 0
push ecx
push edx
push esi
call fcn.00463bc0
add esp, 0x10
test ax, ax
jne case.default.0x46363a
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0
or byte [ecx + 8], 2
push 0
push esi
call fcn.004b5af0
add esp, 0x14
test ax, ax
je 0x4634f7
jmp case.default.0x46363a
mov eax, dword [esp + 0xf4]
push edi
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x42]
inc eax
push eax
push 0xffff9166
push 3
push esi
call fcn.004bda00
add esp, 0x18
jmp case.default.0x46363a
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xe8]
push eax
push ecx
push esi
call fcn.00463870
add esp, 0xc
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + 0x38]
push eax
push esi
call fcn.004ab010
mov ecx, dword [esp + 0xf0]
add esp, 8
mov edi, eax
mov eax, dword [ecx + 0x34]
push eax
push esi
call fcn.004ab010
mov ecx, dword [esp + 0xf0]
add esp, 8
add edi, eax
mov eax, dword [ecx + 0x3c]
push eax
push esi
call fcn.004ab010
add esp, 8
lea eax, [edi + eax + 0x3ff]
cdq
and edx, 0x3ff
mov ecx, dword [esp + 0x5c]
add eax, edx
mov edx, dword [esp + 0x58]
sar eax, 0xa
push eax
push ecx
mov eax, dword [esp + 0x5c]
push edx
push eax
mov eax, dword [esp + 0x48]
and eax, 0xffff
sub eax, dword [esp + 0x44]
push eax
push 0x1045
push 4
push esi
call fcn.004bda00
mov ecx, dword [esp + 0x5a]
mov edx, dword [esp + 0x10c]
add esp, 0x20
push ecx
push edx
push esi
call fcn.00464e00
add esp, 0xc
test ax, ax
jne case.default.0x46363a
mov ax, word [esp + 0x3a]
mov ecx, dword [esp + 0xf0]
mov word [ecx], ax
pop ebp
xor ax, ax
pop edi
pop esi
pop ebx
add esp, 0xd0
ret