Function at 0x421d90
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x43a4a2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], esi
mov dword [esi], 0x4412d8
mov dword [esi + 0x74], 0x4412d0
mov dword [esi + 0x78], 0x4412cc
mov eax, dword [esi + 0x2f40]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x20], 0x47
je 0x421de7
push eax
call dword [0x43c1dc]
mov dword [esi + 0x2f40], ebx
mov eax, dword [esi + 0x2edc]
mov edi, dword [eax]
cmp edi, eax
je 0x421e0b
mov ecx, dword [edi + 8]
cmp ecx, ebx
je 0x421e01
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov edi, dword [edi]
cmp edi, dword [esi + 0x2edc]
jne 0x421df3
mov ecx, dword [esi + 0x2edc]
mov eax, dword [ecx]
mov dword [ecx], ecx
mov ecx, dword [esi + 0x2edc]
mov dword [ecx + 4], ecx
cmp eax, dword [esi + 0x2edc]
mov dword [esi + 0x2ee0], ebx
je 0x421e47
lea esp, [esp]
mov edi, dword [eax]
push eax
call sub.MFC71.DLL_operator_delete_1
mov ecx, dword [esi + 0x2edc]
add esp, 4
cmp edi, ecx
mov eax, edi
jne 0x421e30
lea edi, [esi + 0x2824]
mov ebp, 3
mov eax, dword [edi]
cmp eax, ebx
je 0x421e62
push ebx
push eax
call dword [0x43c128]
mov dword [edi], ebx
add edi, 4
dec ebp
jne 0x421e52
mov ecx, esi
call fcn.00411870
mov edx, dword [esi + 0x2ec8]
lea ebp, [esi + 0x2ec8]
mov ecx, ebp
call dword [edx + 0x18]
mov eax, dword [esi + 0xbfc]
cmp dword [eax - 0xc], ebx
lea edi, [esi + 0xbfc]
je 0x421eef
push str.userdataupdate
lea ecx, [esp + 0x14]
push edi
push ecx
call fcn.00404560
mov eax, dword [eax]
push eax
mov byte [esp + 0x30], 0x48
call fcn.004098b0
add esp, 0x10
lea ecx, [esp + 0x10]
mov byte [esp + 0x20], 0x47
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push str.userdatapic
lea edx, [esp + 0x14]
push edi
push edx
call fcn.00404560
mov eax, dword [eax]
push eax
mov byte [esp + 0x30], 0x49
call fcn.004098b0
add esp, 0x10
lea ecx, [esp + 0x10]
mov byte [esp + 0x20], 0x47
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, dword [esi + 0x2f00]
cmp eax, ebx
je 0x421f09
push eax
call dword [sym.imp.MSVCR71.dll_fclose]
add esp, 4
mov dword [esi + 0x2f00], ebx
mov ecx, dword [esi + 0x34f4]
cmp ecx, ebx
je 0x421f20
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [esi + 0x34f4], ebx
mov ecx, dword [0x44ff94]
cmp ecx, ebx
je 0x421f40
mov edi, ecx
call fcn.004257c0
push edi
call sub.MFC71.DLL_operator_delete_1
add esp, 4
mov dword [0x44ff94], ebx
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x18]
lea ecx, [esi + 0x41b4]
mov byte [esi + 0x2ed0], bl
mov dword [esi + 0x2ed4], 0xffffffff
mov byte [esp + 0x20], 0x46
call fcn.00426da0
mov eax, dword [esi + 0x41ac]
cmp eax, ebx
je 0x421f7f
push eax
call dword [0x43c200]
mov dword [esi + 0x41ac], ebx
mov eax, dword [esi + 0x41b0]
cmp eax, ebx
je 0x421f96
push eax
call dword [0x43c1dc]
mov dword [esi + 0x41b0], ebx
lea ecx, [esi + 0x4140]
mov byte [esp + 0x20], 0x44
call sub.MFC71.DLL_CStatic::CStatic
lea ecx, [esi + 0x3fc4]
mov byte [esp + 0x20], 0x43
call fcn.004065f0
lea ecx, [esi + 0x3f70]
mov byte [esp + 0x20], 0x42
call sub.MFC71.DLL_CStatic::CStatic
lea ecx, [esi + 0x3f1c]
mov byte [esp + 0x20], 0x41
call sub.MFC71.DLL_CStatic::CStatic
lea ecx, [esi + 0x3ec8]
mov byte [esp + 0x20], 0x40
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x3544]
mov byte [esp + 0x20], 0x3f
call fcn.0040b320
mov eax, dword [esi + 0x3540]
cmp eax, ebx
mov byte [esp + 0x20], 0x3e
je 0x42200b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi + 0x3538]
cmp eax, ebx
mov byte [esp + 0x20], 0x3d
je 0x422020
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esi + 0x3534]
cmp eax, ebx
mov byte [esp + 0x20], 0x3c
je 0x422035
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [esi + 0x3528]
cmp edi, ebx
je 0x42206e
mov ebp, dword [esi + 0x352c]
cmp edi, ebp
je 0x42205f
lea esp, [esp]
mov ecx, edi
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
add edi, 4
cmp edi, ebp
jne 0x422050
mov eax, dword [esi + 0x3528]
push eax
call sub.MFC71.DLL_operator_delete_1
add esp, 4
mov dword [esi + 0x3528], ebx
mov dword [esi + 0x352c], ebx
mov dword [esi + 0x3530], ebx
mov eax, dword [esi + 0x3518]
cmp eax, ebx
je 0x422093
push eax
call sub.MFC71.DLL_operator_delete_1
add esp, 4
mov dword [esi + 0x3518], ebx
mov dword [esi + 0x351c], ebx
mov dword [esi + 0x3520], ebx
mov edi, dword [esi + 0x3500]
cmp edi, ebx
je 0x4220ed
lea edx, [edi + 8]
push edx
call dword [0x43c10c]
test eax, eax
jne 0x4220e7
cmp edi, ebx
je 0x4220e7
mov eax, dword [edi]
cmp eax, ebx
je 0x4220ce
push eax
call dword [0x43caa4]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x4220de
push eax
call sub.MFC71.DLL_operator_delete
add esp, 4
push edi
call sub.MFC71.DLL_operator_delete_1
add esp, 4
mov dword [esi + 0x3500], ebx
lea ecx, [esi + 0x34f8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0x34a0]
mov byte [esp + 0x20], 0x37
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x344c]
mov byte [esp + 0x20], 0x36
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x33f8]
mov byte [esp + 0x20], 0x35
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x33a4]
mov byte [esp + 0x20], 0x34
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x3350]
mov byte [esp + 0x20], 0x33
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x32fc]
mov byte [esp + 0x20], 0x32
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x32a8]
mov byte [esp + 0x20], 0x31
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x3254]
mov byte [esp + 0x20], 0x30
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x3200]
mov byte [esp + 0x20], 0x2f
call sub.MFC71.DLL_CStatic::CStatic
lea ecx, [esi + 0x31ac]
mov byte [esp + 0x20], 0x2e
call sub.MFC71.DLL_CStatic::CStatic
lea ecx, [esi + 0x3158]
mov byte [esp + 0x20], 0x2d
call sub.MFC71.DLL_CStatic::CStatic
lea ecx, [esi + 0x3104]
mov byte [esp + 0x20], 0x2c
call sub.MFC71.DLL_CStatic::CStatic
lea ecx, [esi + 0x30b0]
mov byte [esp + 0x20], 0x2b
call sub.MFC71.DLL_CEdit::CEdit
lea ecx, [esi + 0x305c]
mov byte [esp + 0x20], 0x2a
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x3008]
mov byte [esp + 0x20], 0x29
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x2fb4]
mov byte [esp + 0x20], 0x28
call sub.MFC71.DLL_CButton::CButton
lea ecx, [esi + 0x2f44]
mov byte [esp + 0x20], 0x27
call fcn.0042eea0
lea ecx, [esi + 0x2f0c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0x2ee4]
mov byte [esp + 0x20], 0x25
call dword [0x43c820]
mov ecx, dword [esi + 0x2edc]
mov eax, dword [ecx]
mov dword [ecx], ecx
mov ecx, dword [esi + 0x2edc]
mov dword [ecx + 4], ecx
cmp eax, dword [esi + 0x2edc]
mov dword [esi + 0x2ee0], ebx
je 0x42225e
mov edi, dword [eax]
push eax
call sub.MFC71.DLL_operator_delete_1
mov ecx, dword [esi + 0x2edc]
add esp, 4
cmp edi, ecx
mov eax, edi
jne 0x422247
mov eax, dword [esi + 0x2edc]
push eax
call sub.MFC71.DLL_operator_delete_1
add esp, 4
lea ecx, [esi + 0x2ec8]
mov dword [esi + 0x2edc], ebx
mov byte [esp + 0x20], 0x23
call fcn.0042a100
push 0x426780
push 3
push 8
lea eax, [esi + 0x2840]
push eax
mov byte [esp + 0x30], 0x22
call fcn.0043163e
push sub.MFC71.DLL_CStatic::CStatic
push 3
push 0x54
lea ecx, [esi + 0x25a4]
push ecx
mov byte [esp + 0x30], 0x21
call fcn.0043163e
push sub.MFC71.DLL_CStatic::CStatic
push 3
push 0x54
lea edx, [esi + 0x24a8]
push edx
mov byte [esp + 0x30], 0x20
call fcn.0043163e
lea ecx, [esi + 0x232c]
mov byte [esp + 0x20], 0x1f
call fcn.004065f0
lea ecx, [esi + 0x21b0]
mov byte [esp + 0x20], 0x1e
call fcn.004065f0
lea ecx, [esi + 0x2034]
mov byte [esp + 0x20], 0x1d
call fcn.004065f0
lea ecx, [esi + 0x1eb8]
mov byte [esp + 0x20], 0x1c
call fcn.004065f0
lea ecx, [esi + 0x1d3c]
mov byte [esp + 0x20], 0x1b
call fcn.004065f0
lea ecx, [esi + 0x1bc0]
mov byte [esp + 0x20], 0x1a
call fcn.004065f0
lea ecx, [esi + 0x1a44]
mov byte [esp + 0x20], 0x19
call fcn.004065f0
push fcn.004065f0
push 6
push 0x17c
lea eax, [esi + 0x115c]
push eax
mov byte [esp + 0x30], 0x18
call fcn.0043163e
lea ecx, [esi + 0x1068]
mov byte [esp + 0x20], 0x17
call fcn.004075f0
lea ecx, [esi + 0xf78]
mov byte [esp + 0x20], 0x16
call fcn.004075f0
lea ecx, [esi + 0xe88]
mov byte [esp + 0x20], 0x15
call fcn.004075f0
lea ecx, [esi + 0xd98]
mov byte [esp + 0x20], 0x14
call fcn.004075f0
mov ecx, dword [esi + 0xd88]
cmp ecx, ebx
mov byte [esp + 0x20], 0x13
mov dword [esi + 0xd84], 0x440348
je 0x4223c3
mov edx, dword [ecx]
push ebx
call dword [edx + 8]
mov dword [esi + 0xd88], ebx
mov ecx, dword [esi + 0xd7c]
cmp ecx, ebx
mov edi, 0x440344
mov byte [esp + 0x20], 0x12
mov dword [esi + 0xd78], edi
je 0x4223e9
mov eax, dword [ecx]
push ebx
call dword [eax + 8]
mov dword [esi + 0xd7c], ebx
mov ecx, dword [esi + 0xd70]
cmp ecx, ebx
mov byte [esp + 0x20], 0x11
mov dword [esi + 0xd6c], edi
je 0x42240a
mov edx, dword [ecx]
push ebx
call dword [edx + 8]
mov dword [esi + 0xd70], ebx
mov edi, dword [esi + 0xc08]
cmp edi, ebx
mov byte [esp + 0x20], 0x10
je 0x42245f
mov ebp, dword [esi + 0xc0c]
cmp edi, ebp
je 0x422450
add edi, 0x20
mov eax, dword [edi]
cmp eax, ebx
je 0x422435
push eax
call sub.MFC71.DLL_operator_delete_1
add esp, 4
lea ecx, [edi - 0x20]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
call dword [0x43c820]
add edi, 0x2c
lea eax, [edi - 0x20]
cmp eax, ebp
jne 0x422426
mov eax, dword [esi + 0xc08]
push eax
call sub.MFC71.DLL_operator_delete_1
add esp, 4
lea ecx, [esi + 0xc00]
mov dword [esi + 0xc08], ebx
mov dword [esi + 0xc0c], ebx
mov dword [esi + 0xc10], ebx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbfc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbf8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbf4]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbf0]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbec]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbe8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbe4]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbe0]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbdc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xbd8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esi + 0xb5c]
mov byte [esp + 0x20], 4
call fcn.0042b910
lea ecx, [esi + 0xb04]
mov byte [esp + 0x20], 3
call fcn.00430a6e
lea ecx, [esi + 0xa8c]
mov byte [esp + 0x20], 2
call fcn.00404490
lea ecx, [esi + 0x408]
mov byte [esp + 0x20], 1
call fcn.00425910
lea ecx, [esi + 0x7c]
mov byte [esp + 0x20], bl
call fcn.00425f50
mov ecx, esi
mov dword [esp + 0x20], 0xffffffff
call fcn.004306d8
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret