Function at 0x41a160
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a6176
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x5a7c
call fcn.00465b30
mov eax, dword [0x4d8b40]
xor eax, esp
mov dword [esp + 0x5a78], eax
push ebx
push esi
push edi
mov eax, dword [0x4d8b40]
xor eax, esp
push eax
lea eax, [esp + 0x5a90]
mov dword fs:[0], eax
cmp dword [0x4db36c], 0xffffffff
mov ebx, ecx
mov dword [esp + 0x38], ebx
mov edi, edx
jne 0x41a1cc
push 0
push 0
push 0x4c3b6c
call fcn.004525b1
or eax, 0xffffffff
jmp 0x41b20c
mov ecx, 0x4c2044
call fcn.00415780
test eax, eax
je 0x41a21a
push 0x10
lea ecx, [ebx + 0x54]
push 0x4c2044
call fcn.00402900
lea ecx, [ebx + 0x28]
push edi
call fcn.00402990
mov dword [ebx + 0x88], 0
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jne 0x41a232
push 0
push 0
push 0x4c3b94
call fcn.004525b1
or eax, 0xffffffff
jmp 0x41b20c
push 0
push 0
push str.CSP
call fcn.004525b1
mov eax, 0xffffffee
jmp 0x41b20c
lea esi, [ebx + 0x18]
push esi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
call fcn.0044dc0d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41a256
push 0x80004005
call fcn.00402ae0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x5a98], 0
call fcn.0044dc0d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41a28b
push 0x80004005
call fcn.00402ae0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov byte [esp + 0x5a98], 1
call fcn.0044dc0d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41a2bd
push 0x80004005
call fcn.00402ae0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x5a98], 2
call fcn.0044dc0d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41a2ef
push 0x80004005
call fcn.00402ae0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x5a98], 3
call fcn.0044dc0d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41a321
push 0x80004005
call fcn.00402ae0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push str.reqXMLData
lea ecx, [esp + 0x24]
mov byte [esp + 0x5a9c], 4
call fcn.00402670
push 0x27ff
lea ecx, [esp + 0x3289]
push 0
mov byte [esp + 0x5aa0], 5
push ecx
mov byte [esp + 0x3290], 0
call fcn.00465b60
mov edx, dword [edi]
add esp, 0xc
push edx
lea eax, [esp + 0x1c]
push str._cstebankno__s__cstebankno_
push eax
call fcn.00407690
movzx ecx, word [ebx + 0x24]
movzx edx, word [ebx + 0x22]
movzx eax, word [ebx + 0x20]
add esp, 0xc
push ecx
movzx ecx, word [ebx + 0x1e]
push edx
movzx edx, word [ebx + 0x1a]
push eax
movzx eax, word [esi]
push ecx
push edx
push eax
lea ecx, [esp + 0x48]
push str._submittime__04d_02d_02d_02d_02d_02d__submittime_
push ecx
call fcn.00407690
xor esi, esi
add esp, 0x20
cmp dword [ebx + 0x84], esi
je 0x41a3f5
mov edx, dword [ebx + 0x2c]
push edx
lea eax, [esp + 0x28]
push str._userid__s__userid_
push eax
call fcn.00407690
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
add esp, 0xc
push edi
push ecx
push edx
lea eax, [esp + 0x1c]
push str.__xml_version_1.0__encoding_gb2312____CSRCBKRQ__s_s_s__CSRCBKRQ_
push eax
call fcn.00407690
add esp, 0x14
jmp 0x41a411
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
push edi
push ecx
lea edx, [esp + 0x18]
push str.__xml_version_1.0__encoding_gb2312____CSRCBKRQ__s_s__CSRCBKRQ_
push edx
call fcn.00407690
add esp, 0x10
mov eax, dword [esp + 0x10]
cmp dword [eax - 4], 1
mov byte [esp + 0x144], 0
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], esi
mov dword [esp + 0xdc], 0x67452301
mov dword [esp + 0xe0], 0xefcdab89
mov dword [esp + 0xe4], 0x98badcfe
mov dword [esp + 0xe8], 0x10325476
jle 0x41a46e
mov eax, dword [eax - 0xc]
push eax
lea ecx, [esp + 0x14]
call fcn.00402790
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x48]
call fcn.00402320
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0xc4]
lea esi, [esp + 0xe0]
mov byte [esp + 0x5a9c], 6
call fcn.00439200
mov byte [esp + 0x5a98], 8
cmp dword [esp + 0x5c], 0x10
jb 0x41a4b4
mov edx, dword [esp + 0x48]
push edx
call fcn.0043fc36
add esp, 4
xor esi, esi
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], esi
mov byte [esp + 0x48], 0
call fcn.0044dc0d
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x41a4e1
push 0x80004005
call fcn.00402ae0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
mov byte [esp + 0x5a98], 9
cmp dword [esp + 0xd8], 0x10
mov eax, dword [esp + 0xc4]
jae 0x41a511
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x38]
push str._signvalue__s__signvalue_
push ecx
call fcn.00407690
add esp, 0xc
cmp dword [ebx + 0x84], esi
je 0x41a56b
mov edx, dword [ebx + 0x2c]
push edx
lea eax, [esp + 0x28]
push str._userid__s__userid_
push eax
call fcn.00407690
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
add esp, 0xc
push ecx
push edi
push edx
push eax
lea ecx, [esp + 0x20]
push str.__xml_version_1.0__encoding_gb2312____CSRCBKRQ__s_s_s_s__CSRCBKRQ_
push ecx
call fcn.00407690
add esp, 0x18
push str.https:__www.csebank.com:454_pb_QueryCbCertInfoServlet.do
jmp 0x41a58d
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
push edx
push edi
push eax
lea ecx, [esp + 0x1c]
push str.__xml_version_1.0__encoding_gb2312____CSRCBKRQ__s_s_s__CSRCBKRQ_
push ecx
call fcn.00407690
add esp, 0x14
push str.https:__www.csebank.com:454_pb_QueryPbCertInfoServlet.do
push ebx
call fcn.00419c30
push 0x1063
lea edx, [esp + 0x151]
push esi
push edx
mov byte [esp + 0x158], 0
call fcn.00465b60
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp dword [eax - 4], 1
mov dword [esp + 0x28], esi
jle 0x41a5cc
mov eax, dword [eax - 0xc]
push eax
lea ecx, [esp + 0x14]
call fcn.00402790
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x154]
call fcn.00438440
push 0x1063
lea eax, [esp + 0x2229]
push 0
push eax
mov byte [esp + 0x2230], 0
call fcn.00465b60
mov eax, dword [esp + 0x3c]
add esp, 0x14
lea edi, [esp + 0x14c]
lea ecx, [esp + 0x221c]
call fcn.004382d0
lea ecx, [esp + 0x221c]
push ecx
lea ecx, [esp + 0x24]
call fcn.00407810
mov eax, dword [esp + 0x20]
cmp dword [eax - 4], 1
mov esi, dword [eax - 0xc]
jle 0x41a646
mov edx, esi
push edx
lea ecx, [esp + 0x24]
call fcn.00402790
mov eax, dword [esp + 0x20]
push esi
push eax
push ebx
call fcn.00419f20
mov edi, eax
test edi, edi
je 0x41a79b
push 0
push 0
push 0x4c3d08
call fcn.004525b1
mov esi, ebx
call fcn.0041a110
mov byte [esp + 0x5a98], 8
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a695
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xc0]
call fcn.00401db0
mov byte [esp + 0x5a98], 4
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a6c9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a98], 3
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a6f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a98], 2
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a719
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a98], 1
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a741
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a98], 0
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a769
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x5a98], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a794
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
jmp 0x41b20c
push 0x2800
lea ecx, [esp + 0x3288]
push 0
push ecx
call fcn.00465b60
add esp, 0xc
push ebx
lea edx, [esp + 0x3288]
call fcn.0041a070
lea edx, [esp + 0x3284]
push edx
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00402670
mov byte [esp + 0x5a98], 0xa
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00407720
mov byte [esp + 0x5a98], 9
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a812
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
jg 0x41a79b
mov esi, ebx
call fcn.0041a110
push 0x1063
lea ecx, [esp + 0x11b9]
push 0
push ecx
mov byte [esp + 0x11c0], 0
call fcn.00465b60
add esp, 0xc
push 0x1063
lea edx, [esp + 0x151]
push 0
push edx
mov byte [esp + 0x158], 0
call fcn.00465b60
mov esi, dword [esp + 0x20]
mov edi, dword [esi - 0xc]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x41a878
mov eax, edi
push eax
lea ecx, [esp + 0x18]
call fcn.00402790
mov esi, dword [esp + 0x14]
push edi
mov eax, esi
lea ebx, [esp + 0x150]
call fcn.00438320
mov eax, dword [esi - 0xc]
cdq
sub eax, edx
add esp, 4
sar eax, 1
push eax
mov ecx, ebx
push ecx
lea ecx, [esp + 0x11bc]
call fcn.00438650
add esp, 8
lea edx, [esp + 0x11b4]
push edx
lea ecx, [esp + 0x18]
call fcn.00402630
mov esi, dword [esp + 0x14]
cmp dword [esi - 0xc], 0
jle 0x41a8e1
push 0x3c
push esi
call fcn.00461651
add esp, 8
test eax, eax
je 0x41a8e1
sub eax, esi
js 0x41a8e1
lea ecx, [esp + 0x14]
push ecx
call fcn.0041fc90
mov esi, dword [esp + 0x14]
lea edx, [esp + 0x74]
push edx
call fcn.00421eb0
lea ecx, [esp + 0x28]
call fcn.00402b40
lea ecx, [esp + 0x2c]
call fcn.00402b40
mov byte [esp + 0x5a98], 0xd
cmp dword [esi - 4], 1
jle 0x41a91c
mov eax, dword [esi - 0xc]
push eax
lea ecx, [esp + 0x18]
call fcn.00402790
mov esi, dword [esp + 0x14]
push 0
push 0
push esi
lea ecx, [esp + 0x80]
call fcn.004232d0
mov esi, str.CSRCBKRP
lea eax, [esp + 0x74]
call fcn.004218d0
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
jne 0x41a9bb
lea ecx, [esp + 0x2c]
call fcn.00402b20
lea ecx, [esp + 0x28]
call fcn.00402b20
lea ecx, [esp + 0x74]
mov byte [esp + 0x5a98], 9
call fcn.004192b0
lea ecx, [esp + 0x34]
call fcn.00402b20
lea ecx, [esp + 0xc0]
call fcn.00401db0
lea ecx, [esp + 0x20]
call fcn.00402b20
lea ecx, [esp + 0x14]
call fcn.00402b20
lea ecx, [esp + 0x10]
call fcn.00402b20
lea ecx, [esp + 0x24]
call fcn.00402b20
lea ecx, [esp + 0x30]
call fcn.00402b20
lea ecx, [esp + 0x18]
call fcn.00402b20
lea eax, [ebx - 0x64]
jmp 0x41b20c
mov esi, str.returncode
mov eax, ebx
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41a9f3
lea ecx, [ecx]
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41ab3e
mov esi, str.returncode
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41a9d0
xor esi, esi
mov eax, esi
call fcn.00421e90
test esi, esi
je 0x41b199
test eax, eax
je 0x41b199
push eax
lea ecx, [esp + 0x2c]
push 0x4c2db4
push ecx
call fcn.00407690
add esp, 0xc
push str.000000
lea ecx, [esp + 0x2c]
call fcn.00402360
test eax, eax
mov eax, ebx
je 0x41ab5e
mov esi, str.returnmessage
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41aa6a
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41ab4e
mov esi, str.returnmessage
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41aa47
xor esi, esi
mov eax, esi
call fcn.00421e90
mov edi, eax
test esi, esi
je 0x41aab8
test edi, edi
je 0x41aab8
lea ecx, [esp + 0x1c]
call fcn.00402b40
push edi
lea ecx, [esp + 0x20]
push 0x4c2db4
push ecx
mov byte [esp + 0x5aa4], 0xe
call fcn.00407690
mov edx, dword [esp + 0x28]
add esp, 0xc
push 0
push 0
push edx
call fcn.004525b1
lea ecx, [esp + 0x1c]
call fcn.00402b20
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x2c]
mov dword [eax + 0x88], 1
call fcn.00402b20
lea ecx, [esp + 0x28]
call fcn.00402b20
lea ecx, [esp + 0x74]
mov byte [esp + 0x5a98], 9
call fcn.004192b0
lea ecx, [esp + 0x34]
call fcn.00402b20
lea ecx, [esp + 0xc0]
call fcn.00401db0
lea ecx, [esp + 0x20]
call fcn.00402b20
lea ecx, [esp + 0x14]
call fcn.00402b20
lea ecx, [esp + 0x10]
call fcn.00402b20
lea ecx, [esp + 0x24]
call fcn.00402b20
lea ecx, [esp + 0x30]
call fcn.00402b20
lea ecx, [esp + 0x18]
call fcn.00402b20
mov eax, 0xfffffff5
jmp 0x41b20c
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
mov esi, eax
jmp 0x41a9f5
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
mov esi, eax
jmp 0x41aa6c
mov esi, str.certstt
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41ab8f
mov edi, edi
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41abdf
mov esi, str.certstt
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41ab70
xor esi, esi
mov eax, esi
call fcn.00421e90
test esi, esi
je 0x41abb3
test eax, eax
je 0x41abb3
push eax
lea ecx, [esp + 0x30]
push 0x4c2db4
push ecx
call fcn.00407690
add esp, 0xc
lea edx, [esp + 0x2c]
push 0x4c3d48
push edx
call fcn.00402390
add esp, 8
test al, al
je 0x41abec
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x2c]
lea ecx, [ebx + 0x8c]
push eax
call fcn.00402990
jmp 0x41ac1e
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
mov esi, eax
jmp 0x41ab91
lea ecx, [esp + 0x2c]
push 0x4c1694
push ecx
call fcn.00402390
add esp, 8
test al, al
je 0x41b119
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x2c]
add ecx, 0x8c
push edx
call fcn.00402990
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
mov esi, str.bindflag
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41ac7b
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x41ac53
mov esi, str.bindflag
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41ac32
jmp 0x41ac7b
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
je 0x41ac7b
call fcn.00421e90
test eax, eax
je 0x41ac7b
push eax
lea eax, [ebx + 0x5c]
push 0x4c2db4
push eax
call fcn.00407690
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov esi, str.ukeybindswitch
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41acd9
nop
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41acb1
mov esi, str.ukeybindswitch
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41ac90
jmp 0x41acd9
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x41acd9
call fcn.00421e90
test eax, eax
je 0x41acd9
push eax
lea ecx, [ebx + 0x60]
push 0x4c2db4
push ecx
call fcn.00407690
add esp, 0xc
cmp dword [ebx + 0x84], 0
jne 0x41ad66
cmp dword [ebp + 8], 0
jne 0x41ad66
lea edx, [ebx + 0x5c]
push edx
mov ecx, 0x4c1694
call fcn.0041fd20
add esp, 4
test al, al
je 0x41ad66
lea eax, [ebx + 0x60]
push eax
mov ecx, str.true
call fcn.0041fd20
add esp, 4
test al, al
je 0x41ad66
lea ecx, [esp + 0x44]
call fcn.0045593a
push str.ShowDev
lea ecx, [esp + 0x40]
mov byte [esp + 0x5a9c], 0xf
call fcn.00402670
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0x5aa0], 0x10
call fcn.00415f10
lea ecx, [esp + 0x3c]
call fcn.00402b20
lea ecx, [esp + 0x44]
mov byte [esp + 0x5a98], 0xd
call fcn.00455b17
mov eax, dword [esp + 0x1c]
mov esi, str.ukeyequipno
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41adc9
lea ebx, [ebx]
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x41ada1
mov esi, str.ukeyequipno
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41ad80
jmp 0x41adc9
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
je 0x41adc9
call fcn.00421e90
test eax, eax
je 0x41adc9
push eax
lea eax, [ebx + 0x7c]
push 0x4c2db4
push eax
call fcn.00407690
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov esi, str.certrefkey
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41ae29
lea ecx, [ecx]
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41ae01
mov esi, str.certrefkey
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41ade0
jmp 0x41ae29
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x41ae29
call fcn.00421e90
test eax, eax
je 0x41ae29
push eax
lea ecx, [ebx + 0x64]
push 0x4c2db4
push ecx
call fcn.00407690
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov esi, str.certauthkey
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41ae89
lea ecx, [ecx]
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41ae61
mov esi, str.certauthkey
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41ae40
jmp 0x41ae89
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x41ae89
call fcn.00421e90
test eax, eax
je 0x41ae89
push eax
lea ecx, [ebx + 0x68]
push 0x4c2db4
push ecx
call fcn.00407690
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov esi, str.RSAorSM2
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41aee9
lea ecx, [ecx]
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41aec1
mov esi, str.RSAorSM2
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41aea0
jmp 0x41aee9
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x41aee9
call fcn.00421e90
test eax, eax
je 0x41aee9
push eax
lea ecx, [ebx + 0x34]
push 0x4c2db4
push ecx
call fcn.00407690
add esp, 0xc
cmp dword [ebx + 0x84], 0
je 0x41af32
mov eax, dword [esp + 0x1c]
mov esi, str.certtype
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41af25
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41af74
mov esi, str.certtype
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41af06
push str.Enterprises
lea ecx, [ebx + 0x30]
call fcn.00402630
mov eax, dword [esp + 0x1c]
mov esi, str.whiteFlag
call fcn.004218d0
mov edi, eax
test edi, edi
je 0x41afff
lea ebx, [ebx]
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x41af9e
mov esi, str.whiteFlag
mov eax, edi
call fcn.00421920
mov edi, eax
test edi, edi
jne 0x41af50
jmp 0x41afff
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x41af25
call fcn.00421e90
test eax, eax
je 0x41af32
push eax
lea ecx, [ebx + 0x30]
push 0x4c2db4
push ecx
call fcn.00407690
add esp, 0xc
jmp 0x41af32
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x41afff
call fcn.00421e90
push eax
lea esi, [ebx + 0x90]
push 0x4c2db4
push esi
call fcn.00407690
add esp, 0xc
push 0x4c1698
push esi
call fcn.00402390
add esp, 8
test al, al
je 0x41afe3
mov dword [ebx + 0x98], 0
jmp 0x41afff
push 0x4c1694
push esi
call fcn.00402390
add esp, 8
test al, al
je 0x41afff
mov dword [ebx + 0x98], 1
cmp byte [0x4dba80], 0
je 0x41b0b1
cmp dword [0x4db36c], 0
mov byte [0x4dba80], 0
jne 0x41b0b1
cmp dword [ebx + 0x98], 0
jne 0x41b0b1
push 0
push 0
push 0x4c3dd4
call fcn.004525b1
lea ecx, [esp + 0x2c]
call fcn.00402b20
lea ecx, [esp + 0x28]
call fcn.00402b20
lea ecx, [esp + 0x74]
mov byte [esp + 0x5a98], 9
call fcn.004192b0
lea ecx, [esp + 0x34]
call fcn.00402b20
lea ecx, [esp + 0xc0]
call fcn.00401db0
lea ecx, [esp + 0x20]
call fcn.00402b20
lea ecx, [esp + 0x14]
call fcn.00402b20
lea ecx, [esp + 0x10]
call fcn.00402b20
lea ecx, [esp + 0x24]
call fcn.00402b20
lea ecx, [esp + 0x30]
call fcn.00402b20
lea ecx, [esp + 0x18]
call fcn.00402b20
or eax, 0xffffffff
jmp 0x41b20c
push str.GotoCertUI
lea ecx, [esp + 0x44]
call fcn.00402670
mov bl, 0x11
lea ecx, [esp + 0x60]
mov byte [esp + 0x5a98], bl
call fcn.0045593a
mov ecx, dword [esp + 0x38]
add ecx, 0x34
mov byte [esp + 0x5a98], 0x12
mov edx, dword [esp + 0x68]
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.00455c10
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.00415f10
lea ecx, [esp + 0x60]
mov byte [esp + 0x5a98], bl
call fcn.00455b17
lea ecx, [esp + 0x40]
call fcn.00402b20
jmp 0x41b127
push 0
push 0
push 0x4c3d4c
call fcn.004525b1
lea ecx, [esp + 0x2c]
call fcn.00402b20
lea ecx, [esp + 0x28]
call fcn.00402b20
lea ecx, [esp + 0x74]
mov byte [esp + 0x5a98], 9
call fcn.004192b0
lea ecx, [esp + 0x34]
call fcn.00402b20
lea ecx, [esp + 0xc0]
call fcn.00401db0
lea ecx, [esp + 0x20]
call fcn.00402b20
lea ecx, [esp + 0x14]
call fcn.00402b20
lea ecx, [esp + 0x10]
call fcn.00402b20
lea ecx, [esp + 0x24]
call fcn.00402b20
lea ecx, [esp + 0x30]
call fcn.00402b20
lea ecx, [esp + 0x18]
call fcn.00402b20
xor eax, eax
jmp 0x41b20c
lea ecx, [esp + 0x2c]
call fcn.00402b20
lea ecx, [esp + 0x28]
call fcn.00402b20
lea ecx, [esp + 0x74]
mov byte [esp + 0x5a98], 9
call fcn.004192b0
lea ecx, [esp + 0x34]
call fcn.00402b20
lea ecx, [esp + 0xc0]
call fcn.00401db0
lea ecx, [esp + 0x20]
call fcn.00402b20
lea ecx, [esp + 0x14]
call fcn.00402b20
lea ecx, [esp + 0x10]
call fcn.00402b20
lea ecx, [esp + 0x24]
call fcn.00402b20
lea ecx, [esp + 0x30]
call fcn.00402b20
lea ecx, [esp + 0x18]
call fcn.00402b20
mov eax, 0xfffffff6
mov ecx, dword [esp + 0x5a90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5a78]
xor ecx, esp
call fcn.0045f97b
mov esp, ebp
pop ebp
ret 4