Function at 0x419c40
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x56f171
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x5a6c
call fcn.00542140
mov eax, dword [0x5d7f50]
xor eax, esp
mov dword [esp + 0x5a68], eax
push ebx
push esi
push edi
mov eax, dword [0x5d7f50]
xor eax, esp
push eax
lea eax, [esp + 0x5a80]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x88], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], edx
jne 0x41abc7
cmp dword [ebx + 0x84], 0
jne 0x419d14
mov eax, dword [ebx + 0x5c]
push 0x5ad92c
push eax
call fcn.0053cf63
add esp, 8
test eax, eax
sete al
test al, al
je 0x419d14
mov eax, dword [ebx + 0x60]
push str.true
push eax
call fcn.0053cf63
add esp, 8
test eax, eax
sete al
test al, al
je 0x419d14
mov ecx, dword [esp + 0x1c]
lea eax, [ebx + 0x7c]
push eax
push ecx
call fcn.0041e6a0
add esp, 8
test al, al
je 0x419d14
push 0
push 0
push 0x5affc8
call fcn.004511de
mov eax, 0xffffffea
jmp 0x41ac65
mov eax, dword [ebx + 0x28]
sub eax, 0x10
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x5a88], 0
mov eax, dword [ebx + 0x2c]
sub eax, 0x10
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x5a88], 1
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
sub eax, 0x10
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x5a88], 2
mov eax, dword [edi]
sub eax, 0x10
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x5a88], 3
mov eax, dword [esi]
sub eax, 0x10
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x5a88], 4
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0x5a88], 5
call fcn.0044b779
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x419de9
push 0x80004005
call fcn.00402bc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov byte [esp + 0x5a88], 6
call fcn.0044b779
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x419e1b
push 0x80004005
call fcn.00402bc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x5a88], 7
call fcn.0044b779
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x419e4d
push 0x80004005
call fcn.00402bc0
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 + 0x30]
mov byte [esp + 0x5a8c], 8
call fcn.00402770
lea edx, [esp + 0x20]
lea ecx, [ebx + 0x38]
push edx
mov byte [esp + 0x5a8c], 9
call fcn.00402ac0
mov eax, dword [esp + 0x1c]
lea ecx, [ebx + 0x50]
push eax
call fcn.00402ac0
lea ecx, [ebx + 0x3c]
push edi
call fcn.00402ac0
lea ecx, [ebx + 0x40]
push esi
call fcn.00402ac0
mov edx, dword [esp + 0x48]
lea ecx, [ebx + 0x74]
push edx
call fcn.00402ac0
push 0x27ff
lea eax, [esp + 0x3279]
push 0
push eax
mov byte [esp + 0x3280], 0
call fcn.00543bb0
mov ecx, dword [esp + 0x34]
add esp, 0xc
push ecx
lea edx, [esp + 0x2c]
push str._cstebankno__s__cstebankno_
push edx
call fcn.004078c0
mov eax, dword [esp + 0x44]
add esp, 0xc
push eax
lea ecx, [esp + 0x3c]
push str._userid__s__userid_
push ecx
call fcn.004078c0
mov edx, dword [esp + 0x2c]
add esp, 0xc
push edx
lea eax, [esp + 0x24]
push str._certtype__s__certtype_
push eax
call fcn.004078c0
mov ecx, dword [esp + 0x3c]
add esp, 0xc
push ecx
lea edx, [esp + 0x34]
push str._certno__s__certno_
push edx
call fcn.004078c0
mov eax, dword [esp + 0x30]
add esp, 0xc
push eax
lea ecx, [esp + 0x28]
push str._mobileno__s__mobileno_
push ecx
call fcn.004078c0
mov edx, dword [esp + 0x40]
add esp, 0xc
push edx
lea eax, [esp + 0x38]
push str._bsncode__s__bsncode_
push eax
call fcn.004078c0
add esp, 0xc
lea edi, [ebx + 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [ebx + 0x24]
movzx edx, word [ebx + 0x22]
movzx eax, word [ebx + 0x20]
push ecx
movzx ecx, word [ebx + 0x1e]
push edx
movzx edx, word [ebx + 0x1a]
push eax
movzx eax, word [edi]
push ecx
push edx
push eax
lea ecx, [esp + 0x58]
push str._submittime__04d_02d_02d_02d_02d_02d__submittime_
push ecx
call fcn.004078c0
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
push esi
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x58]
push edx
push eax
push ecx
lea edx, [esp + 0x54]
push str.__xml_version_1.0__encoding_gb2312____CSRCBKRQ__s_s_s_s_s_s_s__CSRCBKRQ_
push edx
call fcn.004078c0
add esp, 0x44
push str.https:__www.csebank.com:454_pb_SendSmsCodeServlet.do
push ebx
call fcn.00418840
mov edi, eax
test edi, edi
je 0x41a173
mov byte [esp + 0x5a88], 8
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a005
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 7
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a02d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 6
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a055
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x5a88], 5
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a079
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 4
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a0a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 3
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a0c9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 2
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a0f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a119
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 0
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a141
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x5a88], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a16c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
jmp 0x41ac65
mov edx, dword [esp + 0x18]
xor eax, eax
cmp dword [edx - 4], 1
mov byte [esp + 0x134], 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xcc], 0x67452301
mov dword [esp + 0xd0], 0xefcdab89
mov dword [esp + 0xd4], 0x98badcfe
mov dword [esp + 0xd8], 0x10325476
jle 0x41a1d2
mov ecx, dword [edx - 0xc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402890
mov edx, dword [esp + 0x18]
mov eax, edx
mov dword [esp + 0xc4], 0xf
mov dword [esp + 0xc0], 0
mov byte [esp + 0xb0], 0
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a1f5
sub eax, edi
push eax
push edx
lea ecx, [esp + 0xb8]
call fcn.00402320
lea edx, [esp + 0xb0]
push edx
lea edx, [esp + 0x98]
lea ecx, [esp + 0xd0]
mov byte [esp + 0x5a8c], 0xa
call fcn.00436560
mov byte [esp + 0x5a88], 0xc
cmp dword [esp + 0xc4], 0x10
jb 0x41a251
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043cd76
add esp, 4
xor edi, edi
mov dword [esp + 0xc4], 0xf
mov dword [esp + 0xc0], edi
mov byte [esp + 0xb0], 0
call fcn.0044b779
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x41a287
push 0x80004005
call fcn.00402bc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x44], eax
mov byte [esp + 0x5a88], 0xd
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x41a2b7
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x48]
push str._signvalue__s__signvalue_
push ecx
call fcn.004078c0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
add esp, 0xc
push edx
mov edx, dword [esp + 0x34]
push esi
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
lea eax, [esp + 0x38]
push str.__xml_version_1.0__encoding_gb2312____CSRCBKRQ__s_s_s_s_s_s_s_s__CSRCBKRQ_
push eax
call fcn.004078c0
push 0x1063
lea ecx, [esp + 0x11d1]
push edi
push ecx
mov byte [esp + 0x11d8], 0
call fcn.00543bb0
mov eax, dword [esp + 0x4c]
add esp, 0x34
cmp dword [eax - 4], 1
mov dword [esp + 0x1c], edi
jle 0x41a336
mov edx, dword [eax - 0xc]
push edx
lea ecx, [esp + 0x1c]
call fcn.00402890
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
lea edx, [esp + 0x11a8]
call fcn.004357c0
add esp, 4
push 0x1063
lea ecx, [esp + 0x2211]
push 0
push ecx
mov byte [esp + 0x2218], 0
call fcn.00543bb0
mov eax, dword [esp + 0x28]
add esp, 0xc
lea edi, [esp + 0x11a4]
lea ecx, [esp + 0x220c]
call fcn.00435660
lea eax, [esp + 0x220c]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a390
sub eax, edx
push eax
lea edx, [esp + 0x2210]
push edx
lea ecx, [esp + 0x34]
call fcn.004078f0
mov eax, dword [esp + 0x2c]
cmp dword [eax - 4], 1
mov edi, dword [eax - 0xc]
jle 0x41a3c6
push edi
lea ecx, [esp + 0x30]
call fcn.00402890
mov eax, dword [esp + 0x2c]
push edi
push eax
push ebx
call fcn.00418b30
mov edi, eax
test edi, edi
je 0x41a460
mov byte [esp + 0x5a88], 0xc
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a400
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0xa8], 0x10
jb 0x41a41a
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0043cd76
add esp, 4
mov byte [esp + 0x5a88], 8
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x419ff9
push 0x2800
lea ecx, [esp + 0x3278]
push 0
push ecx
call fcn.00543bb0
add esp, 0xc
push ebx
lea edx, [esp + 0x3278]
call fcn.00418c80
lea edx, [esp + 0x3274]
push edx
lea ecx, [esp + 0x20]
mov edi, eax
call fcn.00402770
mov byte [esp + 0x5a88], 0xe
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.004078f0
mov byte [esp + 0x5a88], 0xd
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a4d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
jg 0x41a460
mov esi, ebx
call fcn.00418d20
mov esi, dword [esp + 0x14]
cmp dword [esi - 0xc], 0
jle 0x41a50f
push 0x3c
push esi
call fcn.0053e8af
add esp, 8
test eax, eax
je 0x41a50f
sub eax, esi
js 0x41a50f
push eax
push 0
lea ecx, [esp + 0x1c]
call fcn.0041e540
mov esi, dword [esp + 0x14]
push 0x1063
lea ecx, [esp + 0x141]
push 0
push ecx
mov byte [esp + 0x148], 0
call fcn.00543bb0
add esp, 0xc
push 0x1063
lea edx, [esp + 0x11a9]
push 0
push edx
mov byte [esp + 0x11b0], 0
call fcn.00543bb0
mov edi, dword [esi - 0xc]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x41a564
push edi
lea ecx, [esp + 0x18]
call fcn.00402890
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x11a4]
push ecx
mov ecx, edi
mov eax, esi
call fcn.004356b0
mov eax, dword [esi - 0xc]
cdq
sub eax, edx
sar eax, 1
add esp, 4
push eax
lea edx, [esp + 0x140]
lea ecx, [esp + 0x11a8]
call fcn.004359b0
lea eax, [esp + 0x140]
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a5a1
sub eax, edx
push eax
lea edx, [esp + 0x140]
push edx
lea ecx, [esp + 0x1c]
call fcn.00402a20
lea eax, [esp + 0x4c]
push eax
call fcn.00420b70
mov byte [esp + 0x5a88], 0xf
call fcn.0044b779
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41a5e8
push 0x80004005
call fcn.00402bc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0x5a88], 0x10
call fcn.0044b779
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41a61a
push 0x80004005
call fcn.00402bc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x48], edi
mov byte [esp + 0x5a88], 0x11
mov eax, dword [esp + 0x14]
cmp dword [eax - 4], 1
jle 0x41a649
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [esp + 0x18]
call fcn.00402890
mov edx, dword [esp + 0x14]
push 0
push 0
push edx
lea ecx, [esp + 0x58]
call fcn.00421fb0
mov esi, str.CSRCBKRP
lea eax, [esp + 0x4c]
call fcn.00420460
mov esi, eax
test esi, esi
jne 0x41a8a1
lea eax, [edi - 0x10]
mov byte [esp + 0x5a88], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a697
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 0xf
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 0x41a6bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x5a88], 0xd
call fcn.00417e80
mov byte [esp + 0x5a88], 0xc
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a6f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x94]
call fcn.00401ea0
mov byte [esp + 0x5a88], 8
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a72c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 7
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 0x41a754
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 6
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 0x41a77c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 5
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a7a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 4
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 0x41a7cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 3
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 0x41a7f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 2
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 0x41a81c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 1
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 0x41a844
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5a88], 0
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a86c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x5a88], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a897
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0xfffffff3
jmp 0x41ac65
mov ecx, str.returncode
mov eax, esi
call fcn.004204b0
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x41abce
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
test eax, eax
je 0x41abce
mov eax, dword [eax + 0x20]
add eax, 8
je 0x41abce
push eax
lea ecx, [esp + 0x40]
push 0x5af0c4
push ecx
call fcn.004078c0
add esp, 0xc
push str.000000
lea ecx, [esp + 0x40]
call fcn.00402460
test eax, eax
mov eax, esi
je 0x41a9f0
mov ecx, str.returnmessage
call fcn.004204b0
mov esi, eax
call fcn.00420b50
mov edi, eax
test esi, esi
je 0x41a954
test edi, edi
je 0x41a954
lea ecx, [esp + 0x1c]
call fcn.00402c50
push edi
lea edx, [esp + 0x20]
push 0x5af0c4
push edx
mov byte [esp + 0x5a94], 0x12
call fcn.004078c0
mov eax, dword [esp + 0x28]
add esp, 0xc
push 0
push 0
push eax
call fcn.004511de
lea ecx, [esp + 0x1c]
call fcn.00402c30
lea ecx, [esp + 0x48]
call fcn.00402c30
lea ecx, [esp + 0x3c]
call fcn.00402c30
lea ecx, [esp + 0x4c]
mov byte [esp + 0x5a88], 0xd
call fcn.00417e80
lea ecx, [esp + 0x44]
call fcn.00402c30
lea ecx, [esp + 0x94]
call fcn.00401ea0
lea ecx, [esp + 0x2c]
call fcn.00402c30
lea ecx, [esp + 0x14]
call fcn.00402c30
lea ecx, [esp + 0x18]
call fcn.00402c30
lea ecx, [esp + 0x40]
call fcn.00402c30
lea ecx, [esp + 0x34]
call fcn.00402c30
lea ecx, [esp + 0x24]
call fcn.00402c30
lea ecx, [esp + 0x30]
call fcn.00402c30
lea ecx, [esp + 0x20]
call fcn.00402c30
lea ecx, [esp + 0x38]
call fcn.00402c30
lea ecx, [esp + 0x28]
call fcn.00402c30
mov eax, 0xfffffff5
jmp 0x41ac65
mov ecx, str.sendflag
call fcn.004204b0
mov edi, eax
call fcn.00420b50
test edi, edi
je 0x41abce
test eax, eax
je 0x41abce
push eax
lea ecx, [esp + 0x40]
push 0x5af0c4
push ecx
call fcn.004078c0
add esp, 0xc
push 0x5aff18
lea ecx, [esp + 0x40]
call fcn.00402460
test eax, eax
jne 0x41ab0a
push 0x5b00e4
lea ecx, [esp + 0x20]
call fcn.00402770
push 0
mov byte [esp + 0x5a8c], 0x13
mov edx, dword [esp + 0x20]
push 0
push edx
call fcn.004511de
mov esi, ebx
call fcn.00418d20
lea ecx, [esp + 0x1c]
call fcn.00402c30
lea ecx, [esp + 0x48]
call fcn.00402c30
lea ecx, [esp + 0x3c]
call fcn.00402c30
lea ecx, [esp + 0x4c]
mov byte [esp + 0x5a88], 0xd
call fcn.00417e80
lea ecx, [esp + 0x44]
call fcn.00402c30
lea ecx, [esp + 0x94]
call fcn.00401ea0
lea ecx, [esp + 0x2c]
call fcn.00402c30
lea ecx, [esp + 0x14]
call fcn.00402c30
lea ecx, [esp + 0x18]
call fcn.00402c30
lea ecx, [esp + 0x40]
call fcn.00402c30
lea ecx, [esp + 0x34]
call fcn.00402c30
lea ecx, [esp + 0x24]
call fcn.00402c30
lea ecx, [esp + 0x30]
call fcn.00402c30
lea ecx, [esp + 0x20]
call fcn.00402c30
lea ecx, [esp + 0x38]
call fcn.00402c30
lea ecx, [esp + 0x28]
call fcn.00402c30
mov eax, 0xfffffff2
jmp 0x41ac65
mov ecx, str.smscode
mov eax, esi
call fcn.004204b0
test eax, eax
je 0x41ab35
call fcn.00420b50
test eax, eax
je 0x41ab35
push eax
push 0x5af0c4
add ebx, 0x4c
push ebx
call fcn.004078c0
add esp, 0xc
lea ecx, [esp + 0x48]
call fcn.00402c30
lea ecx, [esp + 0x3c]
call fcn.00402c30
lea ecx, [esp + 0x4c]
mov byte [esp + 0x5a88], 0xd
call fcn.00417e80
lea ecx, [esp + 0x44]
call fcn.00402c30
lea ecx, [esp + 0x94]
call fcn.00401ea0
lea ecx, [esp + 0x2c]
call fcn.00402c30
lea ecx, [esp + 0x14]
call fcn.00402c30
lea ecx, [esp + 0x18]
call fcn.00402c30
lea ecx, [esp + 0x40]
call fcn.00402c30
lea ecx, [esp + 0x34]
call fcn.00402c30
lea ecx, [esp + 0x24]
call fcn.00402c30
lea ecx, [esp + 0x30]
call fcn.00402c30
lea ecx, [esp + 0x20]
call fcn.00402c30
lea ecx, [esp + 0x38]
call fcn.00402c30
lea ecx, [esp + 0x28]
call fcn.00402c30
xor eax, eax
jmp 0x41ac65
lea ecx, [esp + 0x48]
call fcn.00402c30
lea ecx, [esp + 0x3c]
call fcn.00402c30
lea ecx, [esp + 0x4c]
mov byte [esp + 0x5a88], 0xd
call fcn.00417e80
lea ecx, [esp + 0x44]
call fcn.00402c30
lea ecx, [esp + 0x94]
call fcn.00401ea0
lea ecx, [esp + 0x2c]
call fcn.00402c30
lea ecx, [esp + 0x14]
call fcn.00402c30
lea ecx, [esp + 0x18]
call fcn.00402c30
lea ecx, [esp + 0x40]
call fcn.00402c30
lea ecx, [esp + 0x34]
call fcn.00402c30
lea ecx, [esp + 0x24]
call fcn.00402c30
lea ecx, [esp + 0x30]
call fcn.00402c30
lea ecx, [esp + 0x20]
call fcn.00402c30
lea ecx, [esp + 0x38]
call fcn.00402c30
lea ecx, [esp + 0x28]
call fcn.00402c30
mov eax, 0xfffffff6
mov ecx, dword [esp + 0x5a80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5a68]
xor ecx, esp
call fcn.0053c99c
mov esp, ebp
pop ebp
ret 0x10