Function at 0x472f70
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ad8a1
mov eax, dword fs:[0]
push eax
sub esp, 0x948
mov eax, dword [0x4c75d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x7fc], eax
mov eax, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 0x800], ecx
mov dword [ebp - 0x808], edx
mov dword [ebp - 0x7f4], eax
mov dword [ebp - 0x7ec], esi
mov dword [ebp - 0x828], esi
push 8
mov dword [ebp - 4], esi
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, esi
je 0x473ef9
mov dword [ebp - 0x828], eax
xor ecx, ecx
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x828]
xor ebx, ebx
lea ecx, [ebp - 0x828]
mov dword [edx], ecx
mov dword [ebp - 0x824], ebx
mov dword [ebp - 0x820], ebx
mov dword [ebp - 0x81c], ebx
mov dword [ebp - 0x818], ebx
mov edi, 1
mov dword [ebp - 4], edi
mov eax, 0x4b99ac
lea esi, [ebp - 0x450]
mov dword [ebp - 0x43c], 0xf
mov dword [ebp - 0x440], ebx
mov byte [ebp - 0x450], bl
call fcn.00402050
push 0x120
lea eax, [ebp - 0x590]
push ebx
mov byte [ebp - 4], 2
push eax
mov dword [ebp - 0x594], ebx
call fcn.0042e03c
push 0x120
lea ecx, [ebp - 0x6b8]
push ebx
push ecx
mov dword [ebp - 0x6bc], ebx
call fcn.0042e03c
mov esi, dword [ebp - 0x808]
add esp, 0x18
xor edi, edi
mov eax, 0x4b5aef
mov dword [ebp - 0x7f8], ebx
mov dword [ebp - 0x810], ebx
call fcn.00402050
mov edx, dword [ebp - 0x800]
cmp byte [edx], 0
je 0x473bfb
mov esi, dword [ebp - 0x7f4]
nop
cmp ebx, dword [ebp + 0xc]
jae 0x473bfb
mov edi, dword [ebp - 0x800]
mov al, byte [edi + ebx]
add edi, ebx
movsx ecx, al
push ecx
mov dword [ebp - 0x7f0], edi
mov byte [ebp - 0x7e5], al
call dword [sym.imp.MSVCR100.dll_isspace]
add esp, 4
test eax, eax
je 0x4730e7
inc ebx
jmp 0x473be5
mov al, byte [ebp - 0x7e5]
cmp al, 0x28
jne 0x473113
lea edx, [ebp - 0x7f0]
push edx
lea eax, [ebp - 0x828]
mov dword [ebp - 0x7f0], 2
call fcn.004031b0
inc ebx
jmp 0x473be5
cmp al, 0x29
jne 0x4731e8
jmp 0x473120
cmp dword [ebp - 0x818], 0
je 0x473cbf
lea edx, [ebp - 0x828]
call fcn.00402ec0
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x7fc]
mov ebx, esi
lea edi, [ebp - 0x6bc]
call fcn.00472e40
mov dword [ebp - 0x7ec], eax
test eax, eax
js 0x473cdf
mov ebx, 2
cmp dword [esi], ebx
je 0x473cdf
cmp dword [ebp - 0x818], 0
je 0x473184
dec dword [ebp - 0x818]
jne 0x473184
mov dword [ebp - 0x81c], 0
cmp dword [ebp - 0x6bc], ebx
je 0x4731d7
lea ecx, [ebp - 0x6b5]
push ecx
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x434]
push eax
call fcn.00403520
add esp, 0xc
mov esi, dword [ebp - 0x808]
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 3
call fcn.00402fa0
lea esi, [ebp - 0x434]
mov byte [ebp - 4], bl
call fcn.00401b70
mov esi, dword [ebp - 0x7f4]
jmp 0x473120
inc dword [ebp - 0x7f8]
mov ebx, dword [ebp - 0x7f8]
jmp 0x473beb
mov eax, dword [ebp + 0xc]
push esi
lea ecx, [ebp - 0x594]
push ecx
mov ecx, dword [ebp - 0x7fc]
sub eax, ebx
push eax
push edi
mov dword [ebp - 0x80c], eax
call fcn.00472530
mov dword [ebp - 0x7ec], eax
test eax, eax
js 0x473cfc
cmp dword [esi], 2
jne 0x473279
cmp dword [esi + 8], 0x620d
jne 0x473279
mov edx, dword [ebp - 0x7f0]
cmp byte [edx], 0
mov edi, ebx
je 0x47325b
cmp edi, dword [ebp + 0xc]
jae 0x47325b
mov eax, dword [ebp - 0x800]
movsx ecx, byte [eax + edi]
push ecx
call dword [sym.imp.MSVCR100.dll_isalpha]
add esp, 4
test eax, eax
je 0x47325b
mov edx, dword [ebp - 0x800]
inc edi
cmp byte [edx + edi], 0
jne 0x473231
mov eax, dword [ebp - 0x800]
cmp byte [eax + edi], 0x28
je 0x473d1d
xor eax, eax
mov dword [esi], 1
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov ecx, dword [ebp - 0x594]
xor edi, edi
cmp ecx, edi
je 0x47388f
lea eax, [ecx - 0xc9]
cmp eax, 0x13
ja 0x473436
cmp dword [ebp - 0x810], edi
jne 0x47388f
cmp eax, 0x13
ja 0x473436
mov ecx, dword [ebp - 0x808]
cmp dword [ecx + 0x10], edi
je 0x4732c0
cmp dword [ebp - 0x810], edi
je 0x473313
push 0x4b99b0
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x434]
push eax
call fcn.00403520
add esp, 0xc
mov esi, dword [ebp - 0x808]
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 8
call fcn.00402fa0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x420], 0x10
jb 0x47330d
mov ecx, dword [ebp - 0x434]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, dword [ebp - 0x7f4]
add ebx, dword [ebp - 0x48c]
mov dword [ebp - 0x810], 1
mov dword [ebp - 0x7f8], ebx
lea esp, [esp]
cmp dword [ebp - 0x818], 0
je 0x473413
lea edx, [ebp - 0x828]
call fcn.00402ec0
mov edx, dword [eax]
mov eax, dword [ebp - 0x7fc]
push edx
mov ebx, esi
lea edi, [ebp - 0x6bc]
call fcn.00472e40
mov dword [ebp - 0x7ec], eax
test eax, eax
js 0x473cdf
cmp dword [esi], 2
je 0x473cdf
cmp dword [ebp - 0x818], 0
je 0x47340d
lea edx, [ebp - 0x828]
call fcn.00402ec0
cmp dword [eax], 2
je 0x47340d
mov eax, dword [ebp - 0x484]
cmp eax, dword [ebp - 0x5ac]
jb 0x47340d
cmp dword [ebp - 0x818], 0
je 0x4733bb
dec dword [ebp - 0x818]
jne 0x4733bb
mov dword [ebp - 0x81c], 0
lea ecx, [ebp - 0x6b5]
push ecx
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x434]
push eax
call fcn.00403520
add esp, 0xc
mov esi, dword [ebp - 0x808]
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 9
call fcn.00402fa0
lea esi, [ebp - 0x434]
mov byte [ebp - 4], 2
call fcn.00401b70
mov ebx, dword [ebp - 0x7f8]
mov esi, dword [ebp - 0x7f4]
jmp 0x473330
mov ebx, dword [ebp - 0x7f8]
mov ecx, dword [ebp - 0x594]
lea edx, [ebp - 0x7f0]
push edx
lea eax, [ebp - 0x828]
mov dword [ebp - 0x7f0], ecx
call fcn.004031b0
jmp 0x473beb
add ecx, 0xfffffed3
cmp ecx, 0x1b
ja 0x473eb3
push 0x458
mov dword [ebp - 0x80c], ebx
mov dword [ebp - 0x810], edi
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
mov dword [ebp - 0x7f0], esi
mov byte [ebp - 4], 0xa
cmp esi, edi
je 0x473482
mov eax, dword [ebp - 0x7fc]
call fcn.00470f90
mov dword [ebp - 0x804], eax
jmp 0x473488
mov dword [ebp - 0x804], edi
cmp dword [ebp - 0x804], 0
mov esi, dword [sym.imp.MSVCR100.dll_isspace]
mov byte [ebp - 4], 2
je 0x473d3a
add ebx, dword [ebp - 0x48c]
mov edi, dword [ebp - 0x800]
mov al, byte [edi + ebx]
mov byte [ebp - 0x7e5], al
movsx eax, al
push eax
call esi
add esp, 4
test eax, eax
je 0x4734e1
mov al, byte [edi + ebx]
test al, al
je 0x4734e1
cmp ebx, dword [ebp + 0xc]
jae 0x4734e1
movsx ecx, al
push ecx
mov byte [ebp - 0x7e5], al
inc ebx
call esi
add esp, 4
test eax, eax
jne 0x4734c1
cmp byte [ebp - 0x7e5], 0x28
jne 0x473dd5
mov al, byte [edi + ebx + 1]
inc ebx
movsx edx, al
push edx
mov dword [ebp - 0x7f8], ebx
mov byte [ebp - 0x7e5], al
call esi
add esp, 4
test eax, eax
je 0x473536
lea esp, [esp]
mov al, byte [edi + ebx]
test al, al
je 0x473530
cmp ebx, dword [ebp + 0xc]
jae 0x473530
mov byte [ebp - 0x7e5], al
movsx eax, al
push eax
inc ebx
call esi
add esp, 4
test eax, eax
jne 0x473510
mov dword [ebp - 0x7f8], ebx
movsx ecx, byte [ebp - 0x7e5]
push ecx
mov dword [ebp - 0x7f0], ebx
call dword [sym.imp.MSVCR100.dll_isalnum]
mov dl, byte [ebp - 0x7e5]
add esp, 4
test eax, eax
jne 0x47356f
cmp dl, 0x2d
je 0x47356f
cmp dl, 0x2b
je 0x47356f
cmp dl, 0x28
je 0x47356f
cmp dl, 0x29
jne 0x473dfb
mov eax, dword [ebp - 0x800]
mov ecx, 0x49
lea esi, [ebp - 0x594]
lea edi, [ebp - 0x950]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x804]
add edi, 4
mov ecx, 0x49
lea esi, [ebp - 0x950]
rep movsd dword es:[edi], dword [esi]
mov al, byte [eax + ebx]
test al, al
je 0x4736ef
lea esp, [esp]
mov esi, dword [ebp + 0xc]
cmp ebx, esi
jae 0x4736e9
movsx ecx, al
push ecx
mov byte [ebp - 0x7e5], al
call dword [sym.imp.MSVCR100.dll_isspace]
add esp, 4
test eax, eax
jne 0x4736d0
mov al, byte [ebp - 0x7e5]
cmp al, 0x28
jne 0x473629
mov edx, dword [ebp - 0x800]
cmp byte [edx + ebx], 0
mov ecx, 1
je 0x473e21
cmp ebx, esi
jae 0x473612
test ecx, ecx
je 0x473612
mov al, byte [edx + ebx + 1]
inc ebx
cmp al, 0x28
jne 0x473609
inc ecx
jmp 0x47360e
cmp al, 0x29
jne 0x47360e
dec ecx
test al, al
jne 0x4735f5
cmp al, 0x29
je 0x47361e
cmp al, 0x3b
jne 0x473e21
mov al, byte [edx + ebx + 1]
inc ebx
mov byte [ebp - 0x7e5], al
cmp al, 0x3b
je 0x47364b
cmp al, 0x29
jne 0x4736d0
mov eax, dword [ebp - 0x7f0]
cmp eax, ebx
jne 0x473651
inc ebx
mov dword [ebp - 0x7f8], ebx
jmp 0x4736f8
mov eax, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x804]
cmp dword [edx + 0x130], 0x64
je 0x473e47
mov ecx, dword [ebp - 0x800]
mov esi, ebx
sub esi, eax
push esi
add ecx, eax
push ecx
lea edx, [ebp - 0x314]
push 0x100
push edx
call dword [sym.imp.MSVCR100.dll_strncpy_s]
mov edi, dword [ebp - 0x7f4]
add esp, 0x10
inc esi
push esi
mov esi, dword [ebp - 0x804]
lea eax, [ebp - 0x314]
push eax
mov ecx, edi
call fcn.00472980
mov dword [ebp - 0x7ec], eax
test eax, eax
js 0x473e6d
cmp dword [edi], 1
jne 0x473e6d
cmp byte [ebp - 0x7e5], 0x29
lea ecx, [ebx + 1]
mov dword [ebp - 0x7f0], ecx
je 0x47363f
mov edx, dword [ebp - 0x800]
mov al, byte [edx + ebx + 1]
inc ebx
mov dword [ebp - 0x7f8], ebx
test al, al
jne 0x4735b0
mov dl, byte [ebp - 0x7e5]
cmp dl, 0x29
jne 0x473dd5
mov eax, dword [ebp - 0x804]
mov eax, dword [eax + 0x130]
cmp eax, dword [ebp - 0x480]
jb 0x473dfb
cmp eax, dword [ebp - 0x47c]
ja 0x473dfb
mov eax, dword [ebp - 0x80c]
mov ecx, dword [ebp - 0x800]
mov esi, ebx
sub esi, eax
push esi
add ecx, eax
push ecx
lea edx, [ebp - 0x214]
push 0x200
push edx
call dword [sym.imp.MSVCR100.dll_strncpy_s]
add esp, 0x10
mov ecx, esi
lea edx, [ebp - 0x214]
call fcn.00475980
mov ecx, dword [ebp - 0x804]
mov esi, dword [ebp - 0x7fc]
mov dword [ecx + 0x128], eax
mov ecx, dword [esi + 0x23c]
xor edx, edx
mov dword [ebp - 0x7f0], edx
cmp ecx, edx
jbe 0x4737aa
mov esi, dword [esi + 0x238]
lea esp, [esp]
mov edi, dword [esi]
cmp dword [edi + 0x128], eax
je 0x47379e
mov edi, dword [ebp - 0x7fc]
inc edx
add esi, 4
cmp edx, dword [edi + 0x23c]
jb 0x473780
jmp 0x4737aa
mov dword [ebp - 0x7f0], 1
mov ecx, edx
push 0xa
push 0x19
lea edx, [ebp - 0x434]
push edx
push ecx
call dword [sym.imp.MSVCR100.dll__ltoa_s]
mov esi, dword [ebp - 0x804]
mov ecx, 0x49
add esi, 4
lea edi, [ebp - 0x7e4]
lea eax, [ebp - 0x7e0]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x450]
push ecx
lea edx, [ebp - 0x46c]
push edx
call fcn.00403520
add esp, 0x1c
mov edi, dword [ebp - 0x808]
push 0
push eax
or eax, 0xffffffff
mov esi, edi
mov byte [ebp - 4], 0xb
call fcn.00402fa0
lea esi, [ebp - 0x46c]
mov byte [ebp - 4], 2
call fcn.00401b70
push edi
lea eax, [ebp - 0x434]
call fcn.00402a40
cmp dword [ebp - 0x7f0], 0
jne 0x473864
mov ecx, dword [ebp - 0x7fc]
mov eax, dword [ecx + 0x23c]
cmp eax, 0x19
je 0x473e8d
mov edx, dword [ecx + 0x238]
mov esi, dword [ebp - 0x804]
mov dword [edx + eax*4], esi
inc dword [ecx + 0x23c]
call fcn.004710d0
mov esi, dword [ebp - 0x7f4]
jmp 0x473beb
mov esi, dword [ebp - 0x804]
call fcn.00470f00
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov ecx, dword [ebp - 0x7fc]
add esp, 4
call fcn.004710d0
mov esi, dword [ebp - 0x7f4]
jmp 0x473beb
mov eax, dword [ebp - 0x80c]
mov edi, dword [ebp - 0x7f0]
push eax
call fcn.00470cb0
mov esi, eax
mov dword [ebp - 0x80c], esi
test esi, esi
jne 0x4738b9
cmp dword [ebp - 0x810], eax
je 0x473ed3
mov edi, dword [ebp - 0x7f0]
push esi
push edi
lea ecx, [ebp - 0x214]
push 0x200
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy_s]
movsx edx, byte [edi]
push edx
call dword [sym.imp.MSVCR100.dll_isalpha]
add esp, 0x14
test eax, eax
je 0x473b27
push esi
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x414]
push 0x200
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy_s]
add esp, 0x10
test esi, esi
je 0x473934
xor edi, edi
test esi, esi
je 0x473934
nop
mov al, byte [ebp + edi - 0x414]
test al, al
je 0x473934
movsx edx, al
push edx
call dword [sym.imp.MSVCR100.dll_toupper]
mov byte [ebp + edi - 0x414], al
inc edi
add esp, 4
cmp edi, esi
jb 0x473910
mov ecx, esi
mov eax, 0xdc379acf
lea edx, [ebp - 0x414]
test esi, esi
je 0x473963
jmp 0x473950
movzx edi, byte [edx]
movzx edi, byte [edi + 0x4b9ae8]
xor eax, edi
rol eax, 5
inc edx
dec ecx
jne 0x473950
xor ecx, ecx
cmp eax, dword [0x4cb9c8]
jne 0x473978
mov dword [ebp - 0x82c], ecx
mov ecx, 1
cmp eax, dword [0x4cbad0]
jne 0x47398c
mov dword [ebp - 0x82c], 1
jmp 0x473990
test ecx, ecx
je 0x4739ca
mov ecx, dword [ebp - 0x82c]
imul ecx, ecx, 0x108
mov edx, dword [ecx + 0x4cb9cc]
push 0xa
push 0x200
lea eax, [ebp - 0x214]
push eax
push edx
call dword [sym.imp.MSVCR100.dll__ltoa_s]
mov ecx, dword [ebp - 0x7fc]
add esp, 0x10
call fcn.004710d0
jmp 0x473b80
mov ecx, esi
mov eax, 0xdc379acf
lea edx, [ebp - 0x214]
test esi, esi
je 0x4739f3
jmp 0x4739e0
movzx edi, byte [edx]
movzx edi, byte [edi + 0x4b9ae8]
xor eax, edi
rol eax, 5
inc edx
dec ecx
jne 0x4739e0
mov edi, dword [ebp - 0x7fc]
lea ecx, [ebp - 0x82c]
push ecx
push eax
call fcn.00470d70
test eax, eax
jne 0x473b1a
fldz
xor edi, edi
fstp qword [ebp - 0x424]
mov dword [ebp - method.MMVariable.virtual_0], vtable.MMVariable.0
mov dword [ebp - 0x430], edi
mov dword [ebp - 0x42c], edi
mov dword [ebp - 0x428], edi
push esi
lea edx, [ebp - 0x214]
push edx
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 4
call fcn.00471610
mov eax, dword [ebp - 0x7fc]
sub esp, 0x18
mov dword [ebp - 0x7f0], esp
cmp dword [eax], edi
je 0x473aaf
mov edi, esp
mov dword [ebp - 0x7f0], edi
mov dword [edi], vtable.MMNode.0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x42c]
mov esi, dword [ebp - 0x430]
push ecx
push esi
mov ecx, edi
mov dword [edi], vtable.MMVariable.0
mov dword [edi + 4], 0
call dword [0x4bedac]
fld qword [ebp - 0x424]
mov edx, dword [ebp - 0x7fc]
fstp qword [edi + 0x10]
mov byte [ebp - 4], 4
mov ecx, dword [edx]
call fcn.00472790
jmp 0x473b08
mov esi, esp
mov dword [ebp - 0x7f0], esi
mov dword [esi], vtable.MMNode.0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x430]
push eax
push ecx
mov ecx, esi
mov dword [esi], vtable.MMVariable.0
mov dword [esi + 4], 0
call dword [0x4bedac]
fld qword [ebp - 0x424]
mov ecx, dword [ebp - 0x7fc]
fstp qword [esi + 0x10]
add ecx, 0x218
mov byte [ebp - 4], 4
call fcn.00402aa0
mov esi, dword [ebp - 0x430]
mov byte [ebp - 4], 2
test esi, esi
je 0x473b1a
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov ecx, dword [ebp - 0x7fc]
call fcn.004710d0
jmp 0x473b80
cmp byte [edi], 0x30
jne 0x473b80
mov edx, dword [ebp - 0x800]
movsx eax, byte [edx + ebx + 1]
push eax
call dword [sym.imp.MSVCR100.dll_tolower]
add esp, 4
cmp eax, 0x78
jne 0x473b80
push esi
push edi
lea ecx, [ebp - 0x214]
push 0x200
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy_s]
add esp, 0x10
push 0xa
lea edx, [ebp - 0x214]
push 0x200
push edx
mov eax, edx
push eax
call fcn.004755e0
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__itoa_s]
add esp, 0x10
lea ecx, [ebp - 0x214]
push ecx
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x434]
push eax
call fcn.00403520
add esp, 0xc
mov esi, dword [ebp - 0x808]
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 7
call fcn.00402fa0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x420], 0x10
jb 0x473bcf
mov ecx, dword [ebp - 0x434]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
add ebx, dword [ebp - 0x80c]
mov esi, dword [ebp - 0x7f4]
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x7f8], ebx
mov edx, dword [ebp - 0x800]
cmp byte [edx + ebx], 0
jne 0x4730b0
cmp dword [ebp - 0x818], 0
je 0x473d62
lea edx, [ebp - 0x828]
call fcn.00402ec0
mov eax, dword [eax]
mov esi, dword [ebp - 0x7f4]
push eax
mov eax, dword [ebp - 0x7fc]
mov ebx, esi
lea edi, [ebp - 0x594]
call fcn.00472e40
mov dword [ebp - 0x7ec], eax
test eax, eax
js 0x473cdf
mov ebx, 2
cmp dword [esi], ebx
je 0x473cdf
cmp dword [ebp - 0x818], 0
je 0x473c65
dec dword [ebp - 0x818]
jne 0x473c65
mov dword [ebp - 0x81c], 0
cmp dword [ebp - 0x594], ebx
je 0x473cbf
lea ecx, [ebp - 0x58d]
push ecx
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x46c]
push eax
call fcn.00403520
add esp, 0xc
mov esi, dword [ebp - 0x808]
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 0xc
call fcn.00402fa0
lea esi, [ebp - 0x46c]
mov byte [ebp - 4], bl
call fcn.00401b70
cmp dword [ebp - 0x818], 0
jne 0x473c08
jmp 0x473d62
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [esi], 3
mov dword [esi + 4], eax
mov dword [esi + 8], 0x61b0
jmp 0x473d62
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [esi], 3
mov dword [esi + 4], eax
mov dword [esi + 8], 0x61af
jmp 0x473d62
cmp dword [esi], 3
jne 0x473d07
cmp dword [esi + 8], 0
jne 0x473d62
mov dword [esi], 3
mov dword [esi + 4], 0x80004005
mov dword [esi + 8], 0x61af
jmp 0x473d62
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [esi], 3
mov dword [esi + 4], eax
mov dword [esi + 8], 0x620d
jmp 0x473d62
mov dword [ebp - 0x7ec], 0x8007000e
cmp dword [ebp - 0x804], 0
je 0x473d62
mov esi, dword [ebp - 0x804]
call fcn.00470f00
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [ebp - 0x43c], 0x10
jb 0x473d7b
mov ecx, dword [ebp - 0x450]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea esi, [ebp - 0x828]
mov dword [ebp - 0x43c], 0xf
mov dword [ebp - 0x440], 0
mov byte [ebp - 0x450], 0
call fcn.00403260
mov edx, dword [ebp - 0x828]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov eax, dword [ebp - 0x7ec]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042dbe7
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp - 0x7f4]
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [ecx], 3
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x61b5
jmp 0x473d44
mov ecx, dword [ebp - 0x7f4]
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [ecx], 3
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x61b6
jmp 0x473d44
mov ecx, dword [ebp - 0x7f4]
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [ecx], 3
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x61b8
jmp 0x473d44
mov ecx, dword [ebp - 0x7f4]
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [ecx], 3
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x61b7
jmp 0x473d44
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [edi], 3
mov dword [edi + 4], eax
mov dword [edi + 8], 0x61b6
jmp 0x473d44
mov ecx, dword [ebp - 0x7f4]
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [ecx], 3
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x61ba
jmp 0x473d44
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [esi], 3
mov dword [esi + 4], eax
mov dword [esi + 8], 0x61b3
jmp 0x473d62
mov ecx, dword [ebp - 0x7f4]
mov eax, 0x80004005
mov dword [ebp - 0x7ec], eax
mov dword [ecx], 3
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x61b2
jmp 0x473d62
lea eax, [ebp - 0x80c]
push eax
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x80c], esi
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x4c1fe0
lea ecx, [ebp - 0x424]
push ecx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.0042e16e
int3