Function at 0x4255a0
Capabilities:
Contain obfuscated stackstrings
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46f808
mov eax, dword fs:[0]
push eax
mov eax, 0x1034
call fcn.0046bd50
mov eax, dword [0x48de14]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xfb8], ecx
mov ecx, dword [ebp - 0xfb8]
add ecx, 0x3c4
call fcn.0042ac20
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xfb8]
mov ecx, dword [eax + 0x3b0]
mov edx, dword [ebp - 0xfb8]
mov eax, dword [edx + 0x3b0]
add eax, 0x33c
mov edx, dword [ecx + 0x33c]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
cmp eax, 1
jge 0x425632
push 0
push 0x477000
mov ecx, dword [ebp - 0xfb8]
call fcn.00413110
jmp 0x425fa2
cmp dword [ebp - 0x140], 0
jne 0x425652
push 0
push 0x47700c
mov ecx, dword [ebp - 0xfb8]
call fcn.00413110
jmp 0x425fa2
mov ecx, dword [ebp - 0xfb8]
mov dword [ecx + 0x3e4], 0
mov edx, dword [ebp - 0xfb8]
mov dword [edx + 0x3e8], 0
mov ecx, dword [ebp - 0xfb8]
add ecx, 0x478
call fcn.0042add0
mov ecx, dword [ebp - 0xfb8]
add ecx, 0x3d4
call fcn.0042afc0
mov eax, dword [ebp - 0xfb8]
mov ecx, dword [eax + 0x3b0]
mov dword [ebp - 0x144], ecx
push 0x47498a
lea ecx, [ebp - 0x1c8]
call fcn.00401440
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x144]
add ecx, 0x33c
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x33c]
mov edx, dword [eax + 0xc]
call edx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x218], 0
jmp 0x4256fb
mov eax, dword [ebp - 0x218]
add eax, 1
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [ebp - 0x13c]
jge 0x425832
mov edx, dword [ebp - 0x218]
push edx
mov ecx, dword [ebp - 0x144]
add ecx, 0x33c
mov eax, dword [ebp - 0x144]
mov edx, dword [eax + 0x33c]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jne 0x425741
jmp 0x4256ec
push 0x477020
mov ecx, dword [ebp - 0x220]
call fcn.00441ca0
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x42582d
lea ecx, [ebp - 0x26c]
push ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax + 0x28]
call edx
mov byte [ebp - 4], 1
push 0x477028
lea ecx, [ebp - 0x26c]
call fcn.00439451
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf88], esp
push eax
call fcn.00401440
mov dword [ebp - 0xfbc], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00401090
add esp, 0x20
mov dword [ebp - 0xfc0], eax
mov ecx, dword [ebp - 0xfc0]
mov dword [ebp - 0xfc4], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xfc4]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.004128e0
add esp, 0xc
mov dword [ebp - 0xfc8], eax
mov ecx, dword [ebp - 0xfc8]
mov dword [ebp - 0xfcc], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xfcc]
push edx
lea ecx, [ebp - 0x1c8]
call fcn.0042aaa0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.00401550
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00401550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x26c]
call fcn.00439431
jmp 0x4256ec
lea ecx, [ebp - 0x1c8]
call fcn.004115a0
movzx eax, al
test eax, eax
je 0x42586d
push 0
push 0x47702c
mov ecx, dword [ebp - 0xfb8]
call fcn.00413110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c8]
call fcn.00401550
jmp 0x425fa2
push 0
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ecx + 0x3a0]
mov eax, dword [ebp - 0xfb8]
mov ecx, dword [eax + 0x3a0]
mov edx, dword [edx]
mov eax, dword [edx + 0xe0]
call eax
push 1
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ecx + 0x424]
mov eax, dword [ebp - 0xfb8]
mov ecx, dword [eax + 0x424]
mov edx, dword [edx]
mov eax, dword [edx + 0xe0]
call eax
push 0
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ecx + 0x42c]
push edx
mov ecx, dword [ebp - 0xfb8]
call fcn.0041edf0
push 0xffffffffffffffff
push 0x47498b
lea ecx, [ebp - 0x1ac]
call fcn.00439acc
mov byte [ebp - 4], 4
push 0xffffffffffffffff
push 0x474993
lea ecx, [ebp - 0x214]
call fcn.00439acc
mov byte [ebp - 4], 5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf8c], esp
push 0x47703c
call fcn.00401440
mov dword [ebp - 0xfd0], eax
mov eax, dword [ebp - 0xfd0]
mov dword [ebp - 0xfd4], eax
mov byte [ebp - 4], 6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf90], esp
push 0x477044
call fcn.00401440
mov dword [ebp - 0xfd8], eax
mov ecx, dword [ebp - 0xfd8]
mov dword [ebp - 0xfdc], ecx
mov byte [ebp - 4], 7
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0xf94], esp
push edx
call fcn.00411fb0
add esp, 4
mov dword [ebp - 0xfe0], eax
lea eax, [ebp - 0x160]
push eax
mov byte [ebp - 4], 5
call fcn.00412100
add esp, 0x58
mov dword [ebp - 0xfe4], eax
mov byte [ebp - 4], 8
mov dword [ebp - 0x270], 0
jmp 0x4259a3
mov ecx, dword [ebp - 0x270]
add ecx, 1
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x270]
cmp edx, dword [ebp - 0x140]
jge 0x425f63
mov eax, dword [ebp - 0x270]
push eax
mov ecx, dword [ebp - 0xfb8]
call fcn.004212d0
mov dword [ebp - 0xaf4], eax
cmp dword [ebp - 0xaf4], 0
jne 0x4259d8
jmp 0x425994
push 0x477050
mov ecx, dword [ebp - 0xaf4]
call fcn.00441ca0
mov dword [ebp - 0xaec], eax
cmp dword [ebp - 0xaec], 0
je 0x425a0f
push 0
mov ecx, dword [ebp - 0xaec]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xaec]
mov eax, dword [edx + 0xe0]
call eax
mov cl, byte [0x47499d]
mov byte [ebp - 0xadc], cl
push 0x3ff
push 0
lea edx, [ebp - 0xadb]
push edx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov al, byte [0x47499e]
mov byte [ebp - 0xef4], al
push 0x3ff
push 0
lea ecx, [ebp - 0xef3]
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dl, byte [0x47499f]
mov byte [ebp - 0x6dc], dl
push 0x63
push 0
lea eax, [ebp - 0x6db]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x477058
mov ecx, dword [ebp - 0xaf4]
call fcn.00441ca0
mov dword [ebp - 0xae4], eax
cmp dword [ebp - 0xae4], 0
je 0x425cbc
mov ecx, dword [ebp - 0xae4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xae4]
mov eax, dword [edx + 0xcc]
call eax
push eax
lea ecx, [ebp - 0xf84]
call fcn.00439aec
mov byte [ebp - 4], 9
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xf98], esp
lea edx, [ebp - 0x160]
push edx
call fcn.00401340
mov dword [ebp - 0xfe8], eax
lea eax, [ebp - 0x64]
push eax
call fcn.00401090
add esp, 0x20
mov dword [ebp - 0xfec], eax
mov ecx, dword [ebp - 0xfec]
mov dword [ebp - 0xff0], ecx
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xff0]
call fcn.004016d0
push eax
lea ecx, [ebp - 0xf3c]
call fcn.00439acc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x64]
call fcn.00401550
lea edx, [ebp - 0x1ac]
push edx
sub esp, 0x44
mov ecx, esp
mov dword [ebp - 0xf9c], esp
lea eax, [ebp - 0xf3c]
push eax
call fcn.00439aec
mov dword [ebp - 0xff4], eax
mov ecx, dword [ebp - 0xff4]
mov dword [ebp - 0xff8], ecx
mov byte [ebp - 4], 0xd
sub esp, 0x44
mov ecx, esp
mov dword [ebp - 0xfa0], esp
lea edx, [ebp - 0xf84]
push edx
call fcn.00439aec
mov dword [ebp - 0xffc], eax
lea eax, [ebp - 0xac]
push eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xfb8]
call fcn.00425fc0
mov dword [ebp - 0x1000], eax
mov ecx, dword [ebp - 0x1000]
mov dword [ebp - 0x1004], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x1004]
push edx
lea ecx, [ebp - 0x214]
call fcn.00439704
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xac]
call fcn.00439431
lea ecx, [ebp - 0xf84]
call fcn.00439451
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xfa4], esp
push eax
call fcn.00401440
mov dword [ebp - 0x1008], eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00401090
add esp, 0x20
mov dword [ebp - 0x100c], eax
mov ecx, dword [ebp - 0x100c]
mov dword [ebp - 0x1010], ecx
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1010]
call fcn.004016d0
push eax
lea edx, [ebp - 0xadc]
push edx
call sub.MSVCR100.dll_strcpy
add esp, 8
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xc8]
call fcn.00401550
lea ecx, [ebp - 0x214]
call fcn.00439451
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xfa8], esp
push eax
call fcn.00401440
mov dword [ebp - 0x1014], eax
lea eax, [ebp - 0xe4]
push eax
call fcn.00401090
add esp, 0x20
mov dword [ebp - 0x1018], eax
mov ecx, dword [ebp - 0x1018]
mov dword [ebp - 0x101c], ecx
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x101c]
call fcn.004016d0
push eax
lea edx, [ebp - 0xef4]
push edx
call sub.MSVCR100.dll_strcpy
add esp, 8
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xe4]
call fcn.00401550
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xf3c]
call fcn.00439431
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf84]
call fcn.00439431
push 0x477064
mov ecx, dword [ebp - 0xaf4]
call fcn.00441ca0
mov dword [ebp - 0xae8], eax
cmp dword [ebp - 0xae8], 0
je 0x425dc5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xfac], esp
lea eax, [ebp - 0xef4]
push eax
call fcn.00401440
mov dword [ebp - 0x1020], eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.00401090
add esp, 0x20
mov dword [ebp - 0x1024], eax
mov edx, dword [ebp - 0x1024]
mov dword [ebp - 0x1028], edx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1028]
call fcn.004016d0
push eax
mov eax, dword [ebp - 0xae8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xae8]
mov eax, dword [edx + 0xd0]
call eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x100]
call fcn.00401550
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xfb0], esp
lea edx, [ebp - 0xef4]
push edx
call fcn.00401440
mov dword [ebp - 0x102c], eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00401090
add esp, 0x20
mov dword [ebp - 0x1030], eax
mov ecx, dword [ebp - 0x1030]
mov dword [ebp - 0x1034], ecx
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x1034]
call fcn.004016d0
push eax
mov edx, dword [ebp - 0xae8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xae8]
mov edx, dword [eax + 0xa4]
call edx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x11c]
call fcn.00401550
mov ecx, dword [ebp - 0xfb8]
add ecx, 0x2f5f0
call fcn.00439451
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xfb4], esp
push eax
call fcn.00401440
mov dword [ebp - 0x1038], eax
lea eax, [ebp - 0x138]
push eax
call fcn.00401090
add esp, 0x20
mov dword [ebp - 0x103c], eax
mov ecx, dword [ebp - 0x103c]
mov dword [ebp - 0x1040], ecx
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x1040]
call fcn.004016d0
push eax
lea edx, [ebp - 0x6dc]
push edx
call sub.MSVCR100.dll_strcpy
add esp, 8
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x138]
call fcn.00401550
mov dword [ebp - 0xaf0], 0x426760
mov dword [ebp - 0xae0], 0
mov eax, dword [ebp - 0xfb8]
cmp dword [eax + 0x2f640], 0
jne 0x425eba
mov ecx, dword [ebp - 0xaf0]
push ecx
lea edx, [ebp - 0xef4]
push edx
push 0
lea eax, [ebp - 0xadc]
push eax
lea ecx, [ebp - 0x1c8]
call fcn.004016d0
push eax
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ecx + 0x2f638]
push edx
mov eax, dword [ebp - 0xfb8]
mov ecx, dword [eax + 0x2f634]
push ecx
mov edx, dword [ebp - 0xfb8]
movzx eax, byte [edx + 0x2f588]
push eax
call sub.HSChipServerChat.dll_IW_EncryptionFile_AES
add esp, 0x20
mov dword [ebp - 0xae0], eax
jmp 0x425f13
mov ecx, dword [ebp - 0xaf0]
push ecx
lea edx, [ebp - 0xef4]
push edx
push 0
lea eax, [ebp - 0xadc]
push eax
lea ecx, [ebp - 0x1c8]
call fcn.004016d0
push eax
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ecx + 0x2f638]
push edx
mov eax, dword [ebp - 0xfb8]
mov ecx, dword [eax + 0x2f634]
push ecx
mov edx, dword [ebp - 0xfb8]
movzx eax, byte [edx + 0x2f588]
push eax
call sub.HSChipServerChat.dll_IW_EncryptionFile_SM4
add esp, 0x20
mov dword [ebp - 0xae0], eax
lea ecx, [ebp - 0xae0]
push ecx
mov ecx, dword [ebp - 0xfb8]
add ecx, 0x3d4
call fcn.0042aec0
mov edx, dword [ebp - 0xae0]
push edx
push 0x477074
lea eax, [ebp - 0x674]
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
lea ecx, [ebp - 0x674]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x64
call fcn.00412920
add esp, 4
jmp 0x425994
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x160]
call fcn.00401550
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x214]
call fcn.00439431
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ac]
call fcn.00439431
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c8]
call fcn.00401550
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046bbe4
mov esp, ebp
pop ebp
ret