Function at 0x4218d0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4def85
mov eax, dword fs:[0]
push eax
sub esp, 0x214
push ebx
push esi
push edi
mov eax, dword [0x513330]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov ebx, dword [ebp + 8]
push str.____________________Entrance____________________
lea ecx, [ebp - 0xdc]
lea eax, [ebx + 0x20]
push ecx
push eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], str.OnRegistrationMsg
call fcn.00471a00
add esp, 0xc
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
mov edx, dword [ebx + 0x60]
mov eax, dword [edx + 8]
add ebx, 0x60
mov ecx, ebx
call eax
push 0
mov dword [ebp - 0x14], eax
call fcn.004a7a84
add esp, 4
mov edi, eax
cmp esi, 9
ja case.0x421962.3
movzx ecx, byte [esi + 0x4228dc]
jmp dword [ecx*4 + 0x4228d0]
lea edx, [ebp - 0xbc]
push edx
mov ecx, str.Your_Pro_version_is_now_active._Enjoy_
call fcn.00405a00
lea eax, [ebp - 0xd0]
push eax
mov ecx, str.register.success
mov byte [ebp - 4], 2
call fcn.00405a00
push ecx
mov ecx, esp
mov byte [ebp - 4], 3
mov dword [ebp + 0xc], esp
lea edx, [ebp - 0xbc]
push edx
lea eax, [ebp - 0xd0]
push eax
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.0046f110
push ecx
mov byte [ebp - 4], 4
mov edx, dword [ebx]
mov edx, dword [edx + 0x14]
mov eax, esp
mov dword [ebp - 0xac], esp
push eax
mov ecx, ebx
call edx
lea eax, [ebp - 0x110]
push eax
mov byte [ebp - 4], 3
call fcn.0042f2d0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4219fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421a23
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea edi, [ebp - 0x110]
call fcn.004234a0
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, ebx
call eax
xor ecx, ecx
call fcn.0044f650
mov edx, dword [ebp + 8]
mov cl, 1
call fcn.00420c30
mov eax, edi
mov byte [ebp - 4], 1
call fcn.0042f3f0
jmp 0x42254d
mov edx, dword [0x51856c]
mov eax, dword [edx + 0xc]
mov ecx, 0x51856c
call eax
add eax, 0x10
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 8
cmp esi, 1
je 0x421b24
cmp esi, 5
je 0x421b24
cmp esi, 9
je 0x421b24
cmp esi, 6
je 0x421b24
cmp esi, 2
jne 0x421be9
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, str.Your_license_is_already_in_use_on_a_different_computer._The_license_is_only_valid_for_1_computer._Please_purchase_a_new_license._If_you_want_to_use_the_license_on_this_computer_please_go_here_to_reset_it._nhttp:__www.youtubedownloadersite.com_reset_license.html
call fcn.00405a00
lea edx, [ebp - 0xc4]
push edx
mov ecx, str.dlg.register.error.inuse
mov byte [ebp - 4], 0xc
call fcn.00405a00
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0xd
mov ebx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0xe0]
push edx
mov ecx, ebx
call fcn.0046f110
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0xe
call fcn.004082a0
lea ecx, [ebp - 0xe0]
call fcn.00405f50
lea ecx, [ebp - 0xc4]
call fcn.00405f50
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 8
call fcn.00405f50
jmp 0x421bec
lea eax, [ebp - 0x98]
push eax
mov ecx, str.Your_license_number_is_invalid._Please_copy_paste_it_from_the_email_you_received_from_us_and_try_again._n_nWhat_do_you_want_to_do_
call fcn.00405a00
lea ecx, [ebp - 0xd4]
push ecx
mov ecx, str.dlg.register.error.invalid
mov byte [ebp - 4], 9
call fcn.00405a00
lea edx, [ebp - 0x98]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xe4]
mov bl, 0xa
mov byte [ebp - 4], bl
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.0046f110
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0xb
call fcn.004082a0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421b9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421bc3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421be9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp + 8]
xor cl, cl
mov edx, esi
call fcn.00420c30
mov edx, dword [esi + 0x60]
mov eax, dword [edx]
lea ecx, [esi + 0x60]
call eax
xor ecx, ecx
call fcn.0044f650
lea ecx, [ebp - 0x54]
push ecx
mov ecx, 0x4ebb38
call fcn.00405a00
lea edx, [ebp - 0xb8]
push edx
mov ecx, str.dlg.register.link.help
mov byte [ebp - 4], 0xf
call fcn.00405a00
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x4e96c4
mov byte [ebp - 4], 0x10
call fcn.00405a00
lea ecx, [ebp - 0x94]
push ecx
mov ecx, str.dlg.register.error.again
mov byte [ebp - 4], 0x11
call fcn.00405a00
lea edx, [ebp - 0x44]
push edx
mov ecx, 0x4ebbb4
mov byte [ebp - 4], 0x12
call fcn.00405a00
lea eax, [ebp - 0xa4]
push eax
mov ecx, str.dlg.register.error.free
mov byte [ebp - 4], 0x13
call fcn.00405a00
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, 0x4ebc00
mov byte [ebp - 4], 0x14
call fcn.00405a00
lea edx, [ebp - 0x9c]
push edx
mov ecx, str.dlg.register.error.buy
mov byte [ebp - 4], 0x15
call fcn.00405a00
mov byte [ebp - 4], 0x16
mov eax, dword [0x51856c]
mov edx, dword [eax + 0xc]
mov ecx, 0x51856c
call edx
add eax, 0x10
mov dword [ebp - 0x14], eax
lea esi, [ebp - 0x14]
call fcn.00405c60
lea eax, [ebp - 0x34]
push eax
mov ecx, str.dlg.register.error.title
mov byte [ebp - 4], 0x18
call fcn.00405a00
push ecx
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x54]
mov ecx, esp
mov dword [ebp - 0xb4], esp
push edx
lea eax, [ebp - 0xb8]
push eax
push ecx
mov ecx, ebx
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x94]
push eax
push ecx
mov ecx, ebx
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x1c], esp
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0xa4]
push eax
push ecx
mov ecx, ebx
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0x3c]
push edx
lea eax, [ebp - 0x9c]
push eax
push ecx
mov ecx, ebx
call fcn.0046f110
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov esi, esp
mov dword [ebp - 0xac], eax
call fcn.00408230
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x24], esp
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x34]
push eax
push ecx
mov ecx, ebx
call fcn.0046f110
push 1
lea ecx, [ebp - 0x210]
push ecx
mov byte [ebp - 4], 0x19
call fcn.0042ff80
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421dba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421ddd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421e03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421e26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421e4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421e6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421e95
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421eb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421ede
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421f01
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea edi, [ebp - 0x210]
call fcn.00423520
test eax, eax
jne 0x421f23
mov ecx, str.http:__www.youtubedownloadersite.com_premium.html_ft0
call fcn.0047adb0
jmp 0x421f31
cmp eax, 2
jne 0x421f31
mov ecx, dword [ebp + 8]
push ecx
call fcn.00420da0
lea edx, [ebp - 0x210]
push edx
mov byte [ebp - 4], 8
call fcn.00430220
mov eax, dword [ebp - 0xac]
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42254d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x42254d
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x422274
mov edx, dword [ebp + 8]
xor cl, cl
call fcn.00420c30
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, 0x4ebb38
call fcn.00405a00
lea edx, [ebp - 0x74]
push edx
mov ecx, str.dlg.register.link.help
mov byte [ebp - 4], 0x2a
call fcn.00405a00
lea eax, [ebp - 0xc0]
push eax
mov ecx, 0x4e96c4
mov byte [ebp - 4], 0x2b
call fcn.00405a00
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, str.dlg.register.error.again
mov byte [ebp - 4], 0x2c
call fcn.00405a00
lea edx, [ebp - 0xa8]
push edx
mov ecx, 0x4ebbb4
mov byte [ebp - 4], 0x2d
call fcn.00405a00
lea eax, [ebp - 0x64]
push eax
mov ecx, str.dlg.register.error.free
mov byte [ebp - 4], 0x2e
call fcn.00405a00
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, str.There_was_a_communication_error._Please_try_again_later.
mov byte [ebp - 4], 0x2f
call fcn.00405a00
lea edx, [ebp - 0x5c]
push edx
mov ecx, str.dlg.register.error.commerr
mov byte [ebp - 4], 0x30
call fcn.00405a00
mov byte [ebp - 4], 0x31
mov eax, dword [0x51856c]
mov edx, dword [eax + 0xc]
mov ecx, 0x51856c
call edx
add eax, 0x10
mov dword [ebp + 0xc], eax
lea esi, [ebp + 0xc]
call fcn.00405c60
lea eax, [ebp - 0xa0]
push eax
mov ecx, str.dlg.register.error.title
mov byte [ebp - 4], 0x33
call fcn.00405a00
push ecx
mov ecx, esp
mov bl, 0x34
mov byte [ebp - 4], bl
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x24], esp
lea edx, [ebp - 0xb0]
push edx
lea eax, [ebp - 0x74]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x35
mov dword [ebp - 0x28], esp
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp - 0x6c]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x64]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
mov byte [ebp - 4], 0x37
mov edx, dword [0x51856c]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, 0x51856c
mov dword [ebp - 0x1c], esp
mov esi, esp
call eax
add eax, 0x10
mov dword [esi], eax
call fcn.00405c60
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0xc8]
push edx
lea eax, [ebp - 0x5c]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3a
mov dword [ebp - 0xb4], esp
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0xa0]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
push 0
lea ecx, [ebp - 0x210]
push ecx
mov byte [ebp - 4], bl
call fcn.0042ff80
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0xa0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x422144
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422167
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42218a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4221b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4221d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4221f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42221c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422242
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422265
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0xb0]
jmp 0x422874
cmp eax, 2
jne 0x422588
mov edx, dword [ebp + 8]
mov cl, 1
call fcn.00420c30
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4ebb38
call fcn.00405a00
lea ecx, [ebp - 0x30]
push ecx
mov ecx, str.dlg.register.link.help
mov byte [ebp - 4], 0x46
call fcn.00405a00
lea edx, [ebp - 0x8c]
push edx
mov ecx, 0x4e96c4
mov byte [ebp - 4], 0x47
call fcn.00405a00
lea eax, [ebp - 0x90]
push eax
mov ecx, str.dlg.register.error.again
mov byte [ebp - 4], 0x48
call fcn.00405a00
lea ecx, [ebp - 0x84]
push ecx
mov ecx, str.There_was_a_communication_error._Please_try_again_later.
mov byte [ebp - 4], 0x49
call fcn.00405a00
lea edx, [ebp - 0x2c]
push edx
mov ecx, str.dlg.register.error.commerr
mov byte [ebp - 4], 0x4a
call fcn.00405a00
mov byte [ebp - 4], 0x4b
mov eax, dword [0x51856c]
mov edx, dword [eax + 0xc]
mov ecx, 0x51856c
call edx
add eax, 0x10
mov dword [ebp + 0xc], eax
lea esi, [ebp + 0xc]
call fcn.00405c60
lea eax, [ebp - 0x7c]
push eax
mov ecx, str.dlg.register.error.title
mov byte [ebp - 4], 0x4d
call fcn.00405a00
push ecx
mov ecx, esp
mov bl, 0x4e
mov byte [ebp - 4], bl
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x24], esp
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x30]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0x28], esp
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0x90]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
mov byte [ebp - 4], 0x50
mov edx, dword [0x51856c]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, 0x51856c
mov dword [ebp - 0x20], esp
mov esi, esp
call eax
add eax, 0x10
mov dword [esi], eax
call fcn.00405c60
mov byte [ebp - 4], 0x52
mov edx, dword [0x51856c]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, 0x51856c
mov dword [ebp - 0x1c], esp
mov esi, esp
call eax
add eax, 0x10
mov dword [esi], eax
call fcn.00405c60
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x54
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x2c]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x55
mov dword [ebp - 0xb4], esp
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0x7c]
push eax
push ecx
mov ecx, edi
call fcn.0046f110
push 0
lea ecx, [ebp - 0x210]
push ecx
mov byte [ebp - 4], bl
call fcn.0042ff80
mov byte [ebp - 4], 0x57
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42241f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x58
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422442
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422465
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42248b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4224b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5c
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4224d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4224fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42251d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea edi, [ebp - 0x210]
call fcn.00423520
cmp eax, 2
jne 0x42253d
mov ecx, dword [ebp + 8]
push ecx
call fcn.004208a0
lea edx, [ebp - 0x210]
push edx
mov byte [ebp - 4], 1
call fcn.00430220
push str.______________________Exit______________________
lea eax, [ebp - 0xdc]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xd8]
push eax
push ecx
call fcn.00471a00
add esp, 0xc
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, ebx
call edx
call fcn.0044ea60
mov esi, eax
test esi, esi
jne 0x4225ac
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, ebx
mov esi, edi
call edx
mov ecx, edi
call fcn.0044f650
sub edi, esi
cmp edi, 0x93a80
jbe 0x4228b9
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, ebx
call edx
xor ecx, ecx
call fcn.0044f650
mov edx, dword [ebp + 8]
xor cl, cl
call fcn.00420c30
lea eax, [ebp - 0x88]
push eax
mov ecx, 0x4ebb38
call fcn.00405a00
lea ecx, [ebp - 0x80]
push ecx
mov ecx, str.dlg.register.link.help
mov byte [ebp - 4], 0x5f
call fcn.00405a00
lea edx, [ebp - 0x78]
push edx
mov ecx, 0x4e96c4
mov byte [ebp - 4], 0x60
call fcn.00405a00
lea eax, [ebp - 0x70]
push eax
mov ecx, str.dlg.register.error.again
mov byte [ebp - 4], 0x61
call fcn.00405a00
lea ecx, [ebp - 0x68]
push ecx
mov ecx, 0x4ebbb4
mov byte [ebp - 4], 0x62
call fcn.00405a00
lea edx, [ebp - 0x60]
push edx
mov ecx, str.dlg.register.error.free
mov byte [ebp - 4], 0x63
call fcn.00405a00
lea eax, [ebp - 0x58]
push eax
mov ecx, str.There_was_a_communication_error._Please_try_again_later.
mov byte [ebp - 4], 0x64
call fcn.00405a00
lea ecx, [ebp - 0x50]
push ecx
mov ecx, str.dlg.register.error.commerr
mov byte [ebp - 4], 0x65
call fcn.00405a00
lea edx, [ebp - 0x48]
push edx
xor ecx, ecx
mov byte [ebp - 4], 0x66
call fcn.00405a00
lea eax, [ebp - 0x40]
push eax
mov ecx, str.dlg.register.error.title
mov byte [ebp - 4], 0x67
call fcn.00405a00
push ecx
mov ecx, esp
mov bl, 0x68
mov byte [ebp - 4], bl
mov esi, dword [ebp - 0x14]
mov dword [ebp + 0xc], esp
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x80]
push eax
push ecx
mov ecx, esi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x69
mov dword [ebp - 0x24], esp
lea edx, [ebp - 0x78]
push edx
lea eax, [ebp - 0x70]
push eax
push ecx
mov ecx, esi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x6a
mov dword [ebp - 0x28], esp
lea edx, [ebp - 0x68]
push edx
lea eax, [ebp - 0x60]
push eax
push ecx
mov ecx, esi
call fcn.0046f110
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x6b
mov dword [ebp - 0x20], esp
push ecx
xor ecx, ecx
call fcn.00405a00
push ecx
mov edx, esp
mov byte [ebp - 4], 0x6c
mov dword [ebp - 0x1c], esp
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x50]
push ecx
push edx
mov ecx, esi
call fcn.0046f110
push ecx
mov edx, esp
mov byte [ebp - 4], 0x6d
mov dword [ebp - 0x18], esp
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x40]
push ecx
push edx
mov ecx, esi
call fcn.0046f110
push 0
lea edx, [ebp - 0x210]
push edx
mov byte [ebp - 4], bl
call fcn.0042ff80
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422752
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422775
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x71
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422798
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4227bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4227de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422801
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x75
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422824
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422847
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42286a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422890
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea edi, [ebp - 0x210]
call fcn.00423520
cmp eax, 2
jne 0x42253d
mov ecx, dword [ebp + 8]
push ecx
call fcn.00420da0
jmp 0x42253d
mov edx, dword [ebp + 8]
mov cl, 1
call fcn.00420c30
jmp 0x42254d