Function at 0x420d90
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4af997
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x4e437c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 8
jb 0x420dc9
mov eax, dword [eax]
push 1
push 0x40
push 0x20
push eax
lea ecx, [ebp - 0x204]
call fcn.00419810
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x204]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x208], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 4], 0
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x1f8], 6
jne 0x4215a4
push 2
push 0
push 0
lea ecx, [ebp - 0x204]
call fcn.004221a0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x204]
call fcn.00422630
push 0
push 0
push 0
lea ecx, [ebp - 0x204]
call fcn.004221a0
mov ebx, dword [ebp - 0x144]
xor ecx, ecx
mov edx, dword [ebp - 0x140]
xor edi, edi
add ebx, dword [ebp - 0x13c]
mov eax, ecx
mov dword [ebp - 0x124], ecx
adc edx, dword [ebp - 0x138]
add eax, 0xffffffff
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], ecx
adc ecx, 0xffffffff
mov dword [ebp - 0xe4], 0x80
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0x12c], 0xffffffff
mov dword [ebp - 0x128], 0xffffffff
cmp eax, ebx
jne 0x420edc
cmp ecx, edx
je 0x42155c
mov esi, edi
mov ecx, 0x80
add esi, ecx
adc edi, edi
cmp edx, edi
jl 0x42155c
jg 0x420ef9
cmp ebx, esi
jb 0x42155c
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
mov eax, dword [ebp - 0x13c]
xor ebx, ebx
sub eax, ecx
mov byte [ebp - 4], 1
sub eax, ebx
lea ecx, [ebp - 0x114]
add eax, dword [ebp - 0x144]
push 0
push eax
call fcn.00422030
cmp dword [ebp - 0x100], 0x10
lea edx, [ebp - 0x114]
mov ecx, dword [ebp - 0x144]
cmovae edx, dword [ebp - 0x114]
sub ecx, ebx
mov eax, dword [ebp - 0x140]
sbb eax, ebx
sub ecx, 0x80
sbb eax, ebx
add ecx, dword [ebp - 0x13c]
adc eax, dword [ebp - 0x138]
push eax
push ecx
push edx
lea ecx, [ebp - 0x204]
call fcn.00421da0
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], bl
mov eax, 0x80
mov byte [ebp - 4], 2
push ebx
add eax, ebx
lea ecx, [ebp - 0xfc]
push eax
call fcn.00422030
cmp dword [ebp - 0xe8], 0x10
lea eax, [ebp - 0xfc]
push edi
cmovae eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x204]
push esi
push eax
call fcn.00421da0
mov byte [ebp - 0xcc], 0x68
mov byte [ebp - 0xcb], 0x25
mov byte [ebp - 0xca], 0x40
mov byte [ebp - 0xc9], 0x4e
mov byte [ebp - 0xc8], 0x68
mov byte [ebp - 0xc7], 0x25
mov byte [ebp - 0xc6], 0x25
mov byte [ebp - 0xc5], 0x12
mov byte [ebp - 0xc4], 0x25
mov byte [ebp - 0xc3], 0x2c
mov byte [ebp - 0xc2], 0x25
mov byte [ebp - 0xc1], 0x6f
mov byte [ebp - 0xc0], 0x7c
mov byte [ebp - 0xbf], 0x4e
mov byte [ebp - 0xbe], 4
mov byte [ebp - 0xbd], 0x2c
mov byte [ebp - 0xbc], 0x54
mov byte [ebp - 0xbb], 4
mov byte [ebp - 0xba], 4
mov byte [ebp - 0xb9], 0x2c
mov byte [ebp - 0xb8], 0x69
mov byte [ebp - 0xb7], 0x18
mov byte [ebp - 0xb6], 0x25
mov byte [ebp - 0xb5], 0x12
mov byte [ebp - 0xb4], 0x25
mov byte [ebp - 0xb3], 0x11
mov byte [ebp - 0xb2], 0x25
mov byte [ebp - 0xb1], 0x11
mov byte [ebp - 0xb0], 0x25
mov byte [ebp - 0xaf], 0x11
mov byte [ebp - 0xae], 0x25
mov byte [ebp - 0xad], 0x40
mov byte [ebp - 0xac], 0x25
mov byte [ebp - 0xab], 0x25
mov byte [ebp - 0xaa], 0x25
mov byte [ebp - 0xa9], 0x68
mov byte [ebp - 0xa8], 0x54
mov byte [ebp - 0xa7], 0x6f
mov byte [ebp - 0xa6], 0x25
mov byte [ebp - 0xa5], 0x25
mov byte [ebp - 0xa4], 0x68
mov byte [ebp - 0xa3], 0x25
mov byte [ebp - 0xa2], 0x54
mov byte [ebp - 0xa1], 0x2c
mov byte [ebp - 0xa0], 0x25
mov byte [ebp - 0x9f], 0x7c
mov byte [ebp - 0x9e], 0x54
mov byte [ebp - 0x9d], 0x11
mov byte [ebp - 0x9c], 0x25
mov byte [ebp - 0x9b], 0x25
mov byte [ebp - 0x9a], 0x3a
mov byte [ebp - 0x99], 0x3a
mov byte [ebp - 0x98], 0x26
mov byte [ebp - 0x97], 0x18
mov byte [ebp - 0x96], 0x18
mov byte [ebp - 0x95], 0x40
mov byte [ebp - 0x94], 0x7c
mov byte [ebp - 0x93], 0x18
mov byte [ebp - 0x92], 0x18
mov byte [ebp - 0x91], 0x4e
mov byte [ebp - 0x90], 0x68
mov byte [ebp - 0x8f], 0x2c
mov byte [ebp - 0x8e], 0x11
mov byte [ebp - 0x8d], 0x4e
mov byte [ebp - 0x8c], 0x7c
mov byte [ebp - 0x8b], 0x68
mov byte [ebp - 0x8a], 0x69
mov byte [ebp - 0x89], 0x4e
mov byte [ebp - 0x88], 0x11
mov byte [ebp - 0x87], 0x3a
mov byte [ebp - 0x86], 0x12
mov byte [ebp - 0x85], 0x12
mov byte [ebp - 0x84], 4
mov byte [ebp - 0x83], 0x54
mov byte [ebp - 0x82], 0x3a
mov byte [ebp - 0x81], 0x7c
mov byte [ebp - 0x80], 0x3a
mov byte [ebp - 0x7f], 0x25
mov byte [ebp - 0x7e], 0x6f
mov byte [ebp - 0x7d], 0x18
mov byte [ebp - 0x7c], 0x68
mov byte [ebp - 0x7b], 0x2c
mov byte [ebp - 0x7a], 0x40
mov byte [ebp - 0x79], 0x40
mov byte [ebp - 0x78], 0x7c
mov byte [ebp - 0x77], 0x26
mov byte [ebp - 0x76], 0x25
mov byte [ebp - 0x75], 0x4e
mov byte [ebp - 0x74], 0x4e
mov byte [ebp - 0x73], 0x7d
mov byte [ebp - 0x72], 0x7c
mov byte [ebp - 0x71], 0x6f
mov byte [ebp - 0x70], 0x7c
mov byte [ebp - 0x6f], 0x3a
mov byte [ebp - 0x6e], 0x4e
mov byte [ebp - 0x6d], 0x26
mov byte [ebp - 0x6c], 0x12
mov byte [ebp - 0x6b], 0x11
mov byte [ebp - 0x6a], 0x69
mov byte [ebp - 0x69], 0x18
mov byte [ebp - 0x68], 0x2c
mov byte [ebp - 0x67], 0x54
mov byte [ebp - 0x66], 0x68
mov byte [ebp - 0x65], 0x69
mov byte [ebp - 0x64], 4
mov byte [ebp - 0x63], 0x11
mov byte [ebp - 0x62], 0x7c
mov byte [ebp - 0x61], 0x12
mov byte [ebp - 0x60], 0x7c
mov byte [ebp - 0x5f], 0x40
mov byte [ebp - 0x5e], 0x4e
mov byte [ebp - 0x5d], 0x25
mov byte [ebp - 0x5c], 0x2c
mov byte [ebp - 0x5b], 0x54
mov byte [ebp - 0x5a], 0x7c
mov byte [ebp - 0x59], 0x25
mov byte [ebp - 0x58], 0x6f
mov byte [ebp - 0x57], 0x69
mov byte [ebp - 0x56], 0x2c
mov byte [ebp - 0x55], 0x4e
mov byte [ebp - 0x54], 0x68
mov byte [ebp - 0x53], 0x18
mov byte [ebp - 0x52], 0x26
mov byte [ebp - 0x51], 0x54
mov byte [ebp - 0x50], 0x3a
mov byte [ebp - 0x4f], 0x11
mov byte [ebp - 0x4e], 0x54
mov byte [ebp - 0x4d], 0x54
mov byte [ebp - 0x4c], 0x3a
mov byte [ebp - 0x4b], 0x11
mov byte [ebp - 0x4a], 0x25
mov byte [ebp - 0x49], 0x11
mov byte [ebp - 0x48], 0x18
mov byte [ebp - 0x47], 0x4e
mov byte [ebp - 0x46], 0x69
mov byte [ebp - 0x45], 0x11
mov byte [ebp - 0x44], 0x3a
mov byte [ebp - 0x43], 0x18
mov byte [ebp - 0x42], 0x40
mov byte [ebp - 0x41], 0x6f
mov byte [ebp - 0x40], 0x54
mov byte [ebp - 0x3f], 0x2c
mov byte [ebp - 0x3e], 0x4e
mov byte [ebp - 0x3d], 0x11
mov byte [ebp - 0x3c], 0x3a
mov byte [ebp - 0x3b], 0x12
mov byte [ebp - 0x3a], 0x3a
mov byte [ebp - 0x39], 0x40
mov byte [ebp - 0x38], 0x11
mov byte [ebp - 0x37], 0x2c
mov byte [ebp - 0x36], 0x11
mov byte [ebp - 0x35], 0x4e
mov byte [ebp - 0x34], 0x3a
mov byte [ebp - 0x33], 0x7c
mov byte [ebp - 0x32], 0x54
mov byte [ebp - 0x31], 0x11
mov byte [ebp - 0x30], 0x3a
mov byte [ebp - 0x2f], 0x25
mov byte [ebp - 0x2e], 0x11
mov byte [ebp - 0x2d], 0x69
mov byte [ebp - 0x2c], 0x26
mov byte [ebp - 0x2b], 0x3a
mov byte [ebp - 0x2a], 0x4e
mov byte [ebp - 0x29], 0x2c
mov byte [ebp - 0x28], 0x26
mov byte [ebp - 0x27], 0x69
mov byte [ebp - 0x26], 0x6f
mov byte [ebp - 0x25], 0x7c
mov byte [ebp - 0x24], 0x3a
mov byte [ebp - 0x23], 0x2c
mov byte [ebp - 0x22], 0x7c
mov byte [ebp - 0x21], 0x12
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x69
mov byte [ebp - 0x1e], 0x69
mov byte [ebp - 0x1d], 4
mov byte [ebp - 0x1c], 0x7d
mov byte [ebp - 0x1b], 0x18
mov byte [ebp - 0x1a], 0x25
mov byte [ebp - 0x19], 0x7c
mov byte [ebp - 0x18], 0x25
mov byte [ebp - 0x17], 0x11
mov byte [ebp - 0x16], 0x11
mov byte [ebp - 0x15], 0x11
mov byte [ebp - 0x14], bl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0x13], bl
cmp byte [ebp - 0x13], bl
jne 0x4213d9
mov byte [ebp - 0x13], 1
lea esi, [ebx + 0x7f]
xor ecx, ecx
lea esp, [esp]
mov al, byte [ebp + ecx - 0xcc]
movsx eax, al
sub eax, 0x6c
imul eax, eax, 0x13
cdq
idiv esi
lea eax, [edx + 0x7f]
cdq
idiv esi
mov byte [ebp + ecx - 0xcc], dl
inc ecx
cmp ecx, 0xb8
jb 0x4213b0
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0xe4], 0
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421400
sub ecx, edx
lea eax, [ebp - 0xcc]
push ecx
push eax
lea ecx, [ebp - 0xe4]
call fcn.0041f8d0
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0041d3c0
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 4
push ecx
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.004689e0
add esp, 0x14
lea ecx, [ebp - 0x12c]
mov bl, al
call fcn.00409ef0
mov edx, dword [ebp - 0xd0]
cmp edx, 0x10
jb 0x421495
mov ecx, dword [ebp - 0xe4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42148b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4215cf
push edx
push ecx
call fcn.0046e36f
add esp, 8
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
cmp edx, 0x10
jb 0x4214ea
mov ecx, dword [ebp - 0xfc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4214e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4215cf
push edx
push ecx
call fcn.0046e36f
add esp, 8
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
cmp edx, 0x10
jb 0x42153f
mov ecx, dword [ebp - 0x114]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x421535
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4215cf
push edx
push ecx
call fcn.0046e36f
add esp, 8
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
jmp 0x4215a6
lea ecx, [ebp - 0x1f4]
call fcn.0041fa40
test eax, eax
jne 0x4215a4
mov eax, dword [ebp - 0x204]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, 4
cmp dword [ebp + ecx - 0x1cc], edx
cmovne eax, edx
or eax, dword [ebp + ecx - 0x1f8]
and eax, 0x15
or eax, 2
mov dword [ebp + ecx - 0x1f8], eax
mov ecx, dword [ebp + ecx - 0x1f4]
and ecx, eax
jne 0x4215d4
xor bl, bl
lea ecx, [ebp - 0x204]
call fcn.0041b940
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046e5dc
mov esp, ebp
pop ebp
ret
call fcn.0048f279
test cl, 4
je 0x4215e0
mov esi, str.ios_base::badbit_set
jmp 0x4215f0
test cl, 2
mov esi, str.ios_base::failbit_set
mov eax, str.ios_base::eofbit_set
cmove esi, eax
lea eax, [ebp - 0x14c]
push 1
push eax
call fcn.00421910
add esp, 8
lea ecx, [ebp - 0xe0]
push eax
push esi
call fcn.0041ae10
push 0x4da9f0
lea eax, [ebp - 0xe0]
push eax
call fcn.0048546c
int3