Function at 0x435150
Capabilities:
Check for peb beingdebugged flag
Contain obfuscated stackstrings
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x495b90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x4049c
call fcn.0048bf20
push ebx
push esi
mov ebx, ecx
push edi
mov edi, dword [ebp + 8]
xor esi, esi
or ecx, 0xffffffff
xor eax, eax
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x3c], esi
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x20], esi
mov byte [ebx + 0x25], 0
mov byte [ebx + 0x44], 0
mov byte [ebx + 2], 0
mov byte [ebx + 1], 0
mov byte [ebx], 0
mov dword [ebp - 0x10], esp
repne scasb al, byte es:[edi]
not ecx
push ecx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x11], 0
mov dword [ebp - 0xdc], 0x4a0bc0
mov dword [ebp - 0xd8], str..fds
mov dword [ebp - 0xd4], str..fam
mov dword [ebp - 0xd0], str..unf
mov dword [ebp - 0xcc], str..nsf
mov dword [ebp - 0xc8], esi
mov dword [ebp - 4], esi
call fcn.0048ac32
mov edi, dword [ebp + 8]
mov dword [ebx + 0x3c], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0048ac32
mov ecx, dword [ebx + 0x3c]
add esp, 8
cmp ecx, esi
mov dword [ebx + 0x40], eax
je 0x436be2
cmp eax, esi
je 0x436be2
mov edi, dword [ebp + 8]
mov ecx, ebx
push edi
call fcn.00436ce0
push esi
push 0x8000000
push 3
push esi
push 1
push bind
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x24], eax
jne 0x435278
lea eax, [ebp - 0xb0]
push 0x49c69c
push eax
mov dword [ebp - 0xb0], str.Error_opening_file
call fcn.0048b19d
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
mov dword [ebp - 0x20], eax
jne 0x43529d
lea ecx, [ebp - 0x64]
push 0x49c69c
push ecx
mov dword [ebp - 0x64], str.Error_opening_file
call fcn.0048b19d
cmp eax, 0x10
jae 0x4352b7
lea edx, [ebp - 0x50]
push 0x49c69c
push edx
mov dword [ebp - 0x50], str.Error_reading_from_file
call fcn.0048b19d
push 0x10
call fcn.0048ac32
mov esi, eax
add esp, 4
test esi, esi
mov dword [ebp - 0x1c], esi
jne 0x4352e5
lea eax, [ebp - 0xa4]
push 0x49c69c
push eax
mov dword [ebp - 0xa4], str.Error_loading_file:_out_of_memory
call fcn.0048b19d
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x44]
push 0
push ecx
push 0x10
push esi
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x436bc7
cmp dword [ebp - 0x44], 0x10
jne 0x436bc7
mov ecx, dword [esi]
lea edi, [ebx + 3]
mov eax, edi
push 3
push 0x4a0b54
push edi
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0xc]
mov dword [eax + 0xc], edx
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x435343
cmp byte [ebx + 6], 0x1a
je 0x4353ca
push 3
push 0x4a0b50
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x43535d
cmp byte [ebx + 6], 0x1a
je 0x4353ca
push 3
push 0x4a0b4c
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x435377
cmp byte [ebx + 6], 0x1a
je 0x4353ca
cmp byte [edi], 0x1a
ja 0x435398
mov al, byte [ebx + 4]
test al, al
jne 0x435398
mov al, byte [ebx + 5]
test al, al
jne 0x435391
mov al, byte [ebx + 6]
test al, al
je 0x435398
mov al, byte [ebx + 8]
test al, al
je 0x4353ca
push 3
push 0x4a0b54
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x4353b2
cmp byte [ebx + 6], 0x4d
je 0x4353ca
push 4
push str.UNIF
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x435459
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call fcn.0048c170
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4353f6
lea edx, [ebp - 0x58]
push 0x49c69c
push edx
mov dword [ebp - 0x58], str.Error_loading_file:_out_of_memory
call fcn.0048b19d
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
lea esi, [eax + 0x10]
lea eax, [ebp - 0x44]
push 0
add ecx, 0xfffffff0
push eax
push ecx
push esi
push edx
mov dword [ebp - 0x18], esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x43543e
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
add eax, 0x10
cmp eax, ecx
mov dword [ebp - 0x44], eax
jne 0x43543e
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x24], 0
jmp 0x43550c
lea ecx, [ebp - 0xb4]
push 0x49c69c
push ecx
mov dword [ebp - 0xb4], str.Error_Reading_from_file
call fcn.0048b19d
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c]
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x24], esi
je 0x43547b
push eax
call fcn.0048ace4
add esp, 4
mov dword [ebp - 0x1c], esi
mov edx, dword [ebp + 8]
lea eax, [ebp - 0xdc]
lea ecx, [ebp - 0x20]
push eax
push ecx
lea eax, [ebp - 0x1c]
push edx
push eax
push esi
call fcn.004526a0
add esp, 0x14
cmp eax, esi
jne 0x4354ac
lea ecx, [ebp - 0x60]
push 0x49c8ec
push ecx
mov dword [ebp - 0x60], esi
call fcn.0048b19d
cmp dword [ebp - 0x20], 0x10
jge 0x4354e9
mov eax, dword [0x517ff4]
lea edx, [ebp - 0x12c]
push 0x40
push edx
push 0x962
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0x12c]
push 0x49c69c
push edx
mov dword [ebp - 0xac], ecx
call fcn.0048b19d
mov eax, dword [ebp - 0x1c]
mov edx, edi
mov ecx, eax
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
lea esi, [eax + 0x10]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x18], esi
mov dword [edx + 0xc], ecx
push 3
push 0x4a0b54
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x435526
cmp byte [ebx + 6], 0x1a
je 0x435548
push 3
push 0x4a0b50
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x435908
cmp byte [ebx + 6], 0x1a
jne 0x435908
mov al, byte [0x528b98]
test al, al
jne 0x43555e
mov edx, dword [ebp + 8]
push edx
push esi
call fcn.0046a7a0
add esp, 8
xor eax, eax
mov al, byte [ebx + 7]
shl eax, 0xe
push eax
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x2c], eax
test eax, eax
jne 0x43558b
lea ecx, [ebp - 0x68]
push 0x49c69c
push ecx
mov dword [ebp - 0x68], str.Out_of_memory
call fcn.0048b19d
xor edx, edx
mov dl, byte [ebx + 8]
shl edx, 0xd
push edx
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x30], eax
test eax, eax
jne 0x4355be
lea eax, [ebp - 0xc0]
push 0x49c69c
push eax
mov dword [ebp - 0xc0], str.Out_of_memory
call fcn.0048b19d
test byte [ebx + 9], 4
je 0x435668
push 0x200
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x28], eax
test eax, eax
jne 0x4355f1
lea ecx, [ebp - 0x70]
push 0x49c69c
push ecx
mov dword [ebp - 0x70], str.Out_of_memory
call fcn.0048b19d
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
sub esi, edi
add esi, 0x200
cmp esi, ecx
jle 0x43563a
mov eax, dword [0x517ff4]
lea edx, [ebp - 0x12c]
push 0x40
push edx
push 0x963
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x12c]
push 0x49c69c
push edx
mov dword [ebp - 0x9c], ecx
call fcn.0048b19d
mov edx, dword [ebp - 0x18]
mov ecx, 0x80
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x28]
add edx, 0x200
push 0x200
push eax
mov dword [ebp - 0x18], edx
call fcn.0045d8d0
mov esi, dword [ebp - 0x18]
add esp, 8
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov cl, byte [ebx + 7]
shl ecx, 0xe
mov edx, ecx
sub edx, eax
mov eax, dword [ebp - 0x20]
add edx, esi
cmp edx, eax
jle 0x4356b2
mov ecx, dword [0x517ff4]
lea eax, [ebp - 0x12c]
push 0x40
push eax
push 0x964
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x78]
lea edx, [ebp - 0x12c]
push 0x49c69c
push eax
mov dword [ebp - 0x78], edx
call fcn.0048b19d
mov eax, dword [ebp - 0x18]
mov edi, dword [ebx + 0x2c]
mov edx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov esi, dword [ebp - 0x1c]
mov cl, byte [ebx + 7]
shl ecx, 0xe
add eax, ecx
xor ecx, ecx
mov cl, byte [ebx + 8]
shl ecx, 0xd
mov edx, ecx
sub edx, esi
mov esi, dword [ebp - 0x20]
add edx, eax
cmp edx, esi
jle 0x435722
mov ecx, dword [0x517ff4]
lea eax, [ebp - 0x12c]
push 0x40
push eax
push 0x965
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0xa0]
lea edx, [ebp - 0x12c]
push 0x49c69c
push eax
mov dword [ebp - 0xa0], edx
call fcn.0048b19d
mov edi, dword [ebx + 0x30]
mov edx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebx + 0xa]
mov cl, byte [ebx + 9]
and al, 0xf0
shr cl, 4
or al, cl
cmp al, 0x14
jne 0x435a76
mov dl, byte [ebx + 7]
mov byte [ebp - 0x11], 1
shr dl, 2
cmp dl, 4
mov byte [ebp - 0x24], dl
jbe 0x435761
mov dl, 4
mov byte [ebp - 0x24], dl
mov al, 0x4e
mov cl, 0x2a
mov byte [ebp - 0x3a], al
mov byte [ebp - 0x38], al
mov byte [ebp - 0x35], al
mov byte [ebp - 0x3c], 1
mov byte [ebp - 0x3b], cl
mov byte [ebp - 0x39], 0x49
mov byte [ebp - 0x37], 0x54
mov byte [ebp - 0x36], 0x45
mov byte [ebp - 0x34], 0x44
mov byte [ebp - 0x33], 0x4f
mov byte [ebp - 0x32], 0x2d
mov byte [ebp - 0x31], 0x48
mov byte [ebp - 0x30], 0x56
mov byte [ebp - 0x2f], 0x43
mov byte [ebp - 0x2e], cl
xor eax, eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
and ecx, 0xff
cmp eax, ecx
jae 0x4358a0
mov edx, dword [ebx + 0x2c]
xor ecx, ecx
shl eax, 0x10
mov cl, byte [edx + eax + 0x3f]
lea edi, [eax + 0x3a]
mov dword [ebp - 0x2c], ecx
lea esi, [eax + 0x40]
mov dword [ebp - 0x28], edi
xor ecx, ecx
cmp ecx, 0xe
mov dword [ebp + 8], ecx
ja 0x4357e8
lea edx, [eax + ecx]
mov cl, byte [ebp + ecx - 0x3c]
mov byte [ebp + edx - 0x404ac], cl
mov ecx, dword [ebp + 8]
inc ecx
jmp 0x4357cc
mov ecx, 0xf
cmp ecx, 0x37
ja 0x43580b
mov edx, dword [ebx + 0x2c]
lea edi, [eax + ecx]
add edx, eax
inc ecx
mov dl, byte [edx + ecx - 0x10]
mov byte [ebp + edi - 0x404ac], dl
mov edi, dword [ebp - 0x28]
jmp 0x4357ed
mov cl, byte [ebp - 0x2c]
mov byte [ebp + eax - 0x40474], 2
mov byte [ebp + eax - 0x40473], cl
mov dword [ebp + 8], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 8]
cmp eax, edx
mov eax, dword [ebp - 0x18]
inc eax
jae 0x435898
shl eax, 0x10
cmp edi, eax
jae 0x435893
mov eax, dword [ebx + 0x2c]
xor edx, edx
xor ecx, ecx
mov dl, byte [eax + esi + 0xe]
mov cl, byte [eax + esi + 0xd]
shl edx, 8
add edx, ecx
xor ecx, ecx
mov dword [ebp - 0x28], edx
cmp ecx, 0x10
jae 0x435869
mov dl, byte [eax + esi]
mov byte [ebp + edi - 0x404ac], dl
mov edx, dword [ebp - 0x28]
inc edi
inc esi
inc ecx
jmp 0x435852
mov byte [ebp + edi - 0x404ac], 4
inc edi
mov dword [ebp - 0x40], 0
cmp dword [ebp - 0x40], edx
jae 0x435893
mov cl, byte [eax + esi]
mov byte [ebp + edi - 0x404ac], cl
mov ecx, dword [ebp - 0x40]
inc edi
inc esi
inc ecx
mov dword [ebp - 0x40], ecx
jmp 0x435879
inc dword [ebp + 8]
jmp 0x435824
mov dl, byte [ebp - 0x24]
jmp 0x43579e
mov eax, dword [ebx + 0x2c]
mov byte [eax], 0x46
mov ecx, dword [ebx + 0x2c]
mov byte [ecx + 1], 0x44
mov eax, dword [ebx + 0x2c]
mov byte [eax + 2], 0x53
mov ecx, dword [ebx + 0x2c]
mov byte [ecx + 3], 0x1a
mov eax, dword [ebx + 0x2c]
mov byte [eax + 4], dl
xor eax, eax
mov ecx, dword [ebp - 0x24]
and ecx, 0xff
cmp eax, ecx
jae 0x435a76
xor esi, esi
cmp esi, 0xffdc
jae 0x435905
mov ecx, eax
mov edi, dword [ebx + 0x2c]
shl ecx, 0xb
sub ecx, eax
mov edx, eax
shl ecx, 3
shl edx, 0x10
sub ecx, eax
add edx, esi
inc esi
mov dl, byte [ebp + edx - 0x404ac]
lea ecx, [edi + ecx*4]
mov byte [ecx + esi + 0xf], dl
jmp 0x4358d6
inc eax
jmp 0x4358c3
push 3
push 0x4a0b4c
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x435b48
cmp byte [ebx + 6], 0x1a
jne 0x435b48
mov al, byte [0x528b98]
test al, al
jne 0x435940
mov eax, dword [ebp + 8]
push eax
push esi
call fcn.0046a7a0
add esp, 8
mov al, byte [ebx + 7]
mov byte [edi], 0x4e
mov byte [ebp + 8], al
mov byte [ebp - 0x11], 1
shl al, 2
mov byte [ebx + 7], al
mov eax, dword [ebp + 8]
and eax, 0xff
mov byte [ebx + 4], 0x45
mov edi, eax
mov byte [ebx + 5], 0x53
shl edi, 0xb
sub edi, eax
mov byte [ebx + 8], 0
shl edi, 3
sub edi, eax
mov byte [ebx + 9], 0x40
shl edi, 2
mov byte [ebx + 0xa], 0x10
mov byte [ebx + 0xe], 0
lea ecx, [edi + 0x10]
mov byte [ebx + 0xd], 0
push ecx
mov byte [ebx + 0xc], 0
mov byte [ebx + 0xb], 0
mov byte [ebx + 0x12], 0
mov byte [ebx + 0x11], 0
mov byte [ebx + 0x10], 0
mov byte [ebx + 0xf], 0
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x2c], eax
test eax, eax
jne 0x4359c6
lea edx, [ebp - 0x80]
push 0x49c69c
push edx
mov dword [ebp - 0x80], str.Out_of_memory
call fcn.0048b19d
push 0
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x30], eax
test eax, eax
jne 0x4359f2
lea eax, [ebp - 0xa8]
push 0x49c69c
push eax
mov dword [ebp - 0xa8], str.Out_of_memory
call fcn.0048b19d
mov eax, dword [ebp - 0x1c]
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, esi
cmp ecx, eax
jle 0x435a39
mov eax, dword [0x517ff4]
lea edx, [ebp - 0x12c]
push 0x40
push edx
push 0x966
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x12c]
push 0x49c69c
push edx
mov dword [ebp - 0x88], ecx
call fcn.0048b19d
mov esi, dword [ebp - 0x18]
mov ecx, edi
mov edi, dword [ebx + 0x2c]
mov eax, ecx
add edi, 0x10
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x2c]
mov byte [ecx], 0x46
mov edx, dword [ebx + 0x2c]
mov byte [edx + 1], 0x44
mov eax, dword [ebx + 0x2c]
mov byte [eax + 2], 0x53
mov ecx, dword [ebx + 0x2c]
mov al, byte [ebp + 8]
mov byte [ecx + 3], 0x1a
mov edx, dword [ebx + 0x2c]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0048ace4
mov cl, byte [ebx + 0xa]
mov dl, byte [ebx + 9]
mov al, byte [ebp - 0x11]
and cl, 0xf0
shr dl, 4
add esp, 4
or cl, dl
cmp al, 1
mov dword [ebp - 4], 0xffffffff
mov byte [ebx + 0x24], 1
mov byte [ebx + 0x13], cl
mov byte [ebx], 0
jne 0x4362c7
mov edi, dword [ebx + 0x2c]
xor eax, eax
mov byte [ebx + 0x13], 0x14
xor ecx, ecx
mov ah, byte [edi + 0x1f]
mov cl, byte [edi + 0x21]
mov al, byte [edi + 0x20]
xor edx, edx
mov dl, byte [edi + 0x22]
xor esi, esi
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [ebx + 0x20], eax
mov al, byte [edi + 4]
test al, al
jbe 0x436626
mov eax, esi
mov byte [ebp + 0xb], 0
shl eax, 0xb
sub eax, esi
shl eax, 3
sub eax, esi
lea eax, [eax*4 + 0x4a]
cmp byte [eax + edi], 3
jne 0x435b23
add eax, 0xd
xor ecx, ecx
xor edx, edx
mov cl, byte [eax + edi + 1]
mov dl, byte [eax + edi]
shl ecx, 8
add edx, eax
lea eax, [edx + ecx + 4]
mov dl, byte [ebp + 0xb]
inc dl
mov cl, byte [eax + edi]
mov byte [ebp + 0xb], dl
cmp cl, 3
je 0x435afc
mov eax, esi
mov cl, byte [ebp + 0xb]
shl eax, 0xb
sub eax, esi
xor edx, edx
shl eax, 3
sub eax, esi
inc esi
mov byte [edi + eax*4 + 0x49], cl
mov edi, dword [ebx + 0x2c]
mov dl, byte [edi + 4]
cmp esi, edx
jl 0x435adf
jmp 0x436626
mov al, byte [edi]
cmp al, 0x1a
ja 0x435da3
mov cl, byte [ebx + 4]
test cl, cl
jne 0x435da3
mov cl, byte [ebx + 8]
test cl, cl
jne 0x435da3
mov cl, byte [ebx + 5]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x32], cl
mov cl, byte [ebx + 6]
mov byte [ebp - 0x31], cl
mov cl, byte [ebx + 7]
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x11], 1
mov byte [ebp - 0x34], al
xor dl, dl
lea esi, [ecx + 6]
cmp al, 0x13
je 0x435b94
cmp al, 0x1a
jne 0x435b9c
test dl, dl
je 0x435c24
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x31]
and edx, 0xff
and eax, 0xff
shl edx, 8
add edx, eax
mov eax, dword [ebp - 0x32]
shl edx, 8
and eax, 0xff
add eax, edx
mov edx, eax
sub edx, ecx
lea edx, [edx + esi - 6]
cmp edx, edi
jle 0x435be0
lea eax, [ebp - 0x48]
push 0x49c8ec
push eax
mov dword [ebp - 0x48], 0
call fcn.0048b19d
lea esi, [esi + eax - 6]
mov edx, esi
sub edx, ecx
add edx, 6
cmp edx, edi
jle 0x435c0a
lea eax, [ebp - 0x90]
push 0x49c8ec
push eax
mov dword [ebp - 0x90], 0
call fcn.0048b19d
mov edx, esi
add esi, 6
mov eax, dword [edx]
mov dword [ebp - 0x34], eax
mov dx, word [edx + 4]
mov word [ebp - 0x30], dx
mov dl, byte [ebp - 0x33]
jmp 0x435b8c
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x31]
mov edx, dword [ebp - 0x32]
and ecx, 0xff
shl ecx, 8
and eax, 0xff
and edx, 0xff
add ecx, eax
mov eax, 0x240511
shl ecx, 8
add ecx, edx
mov byte [ebx + 3], 0x4e
mul ecx
sub ecx, edx
mov byte [ebx + 4], 0x45
shr ecx, 1
add ecx, edx
mov byte [ebx + 5], 0x53
shr ecx, 0xf
mov byte [ebp + 8], cl
mov byte [ebx + 8], 0
mov eax, dword [ebp + 8]
mov byte [ebx + 9], 0x40
and eax, 0xff
mov byte [ebx + 0xa], 0x10
mov edi, eax
mov byte [ebx + 0xe], 0
shl edi, 0xb
sub edi, eax
mov byte [ebx + 0xd], 0
shl edi, 3
sub edi, eax
mov byte [ebx + 0xc], 0
shl edi, 2
shl cl, 2
lea eax, [edi + 0x10]
mov byte [ebx + 7], cl
push eax
mov byte [ebx + 0xb], 0
mov byte [ebx + 0x12], 0
mov byte [ebx + 0x11], 0
mov byte [ebx + 0x10], 0
mov byte [ebx + 0xf], 0
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x2c], eax
test eax, eax
jne 0x435cde
lea ecx, [ebp - 0xbc]
push 0x49c69c
push ecx
mov dword [ebp - 0xbc], str.Out_of_memory
call fcn.0048b19d
push 0
call fcn.0048ac32
xor ecx, ecx
add esp, 4
cmp eax, ecx
mov dword [ebx + 0x30], eax
jne 0x435d0c
lea edx, [ebp - 0x98]
push 0x49c69c
push edx
mov dword [ebp - 0x98], str.Out_of_memory
call fcn.0048b19d
cmp byte [ebp - 0x34], 0x1a
jne 0x435d3d
mov edx, dword [ebp - 0x1c]
mov eax, esi
sub eax, edx
mov edx, dword [ebp - 0x20]
add eax, 0x10
cmp eax, edx
jle 0x435d3a
mov dword [ebp - 0xc4], ecx
lea ecx, [ebp - 0xc4]
push 0x49c8ec
push ecx
call fcn.0048b19d
add esi, 0x10
mov eax, dword [ebp - 0x1c]
mov edx, edi
sub edx, eax
mov eax, dword [ebp - 0x20]
add edx, esi
cmp edx, eax
jle 0x435d64
lea eax, [ebp - 0xb8]
push 0x49c8ec
push eax
mov dword [ebp - 0xb8], ecx
call fcn.0048b19d
mov ecx, edi
mov edi, dword [ebx + 0x2c]
mov edx, ecx
add edi, 0x10
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x2c]
mov byte [eax], 0x46
mov ecx, dword [ebx + 0x2c]
mov byte [ecx + 1], 0x44
mov edx, dword [ebx + 0x2c]
mov byte [edx + 2], 0x53
mov eax, dword [ebx + 0x2c]
mov dl, byte [ebp + 8]
mov byte [eax + 3], 0x1a
mov ecx, dword [ebx + 0x2c]
mov byte [ecx + 4], dl
jmp 0x435a76
push 3
push 0x4a0b54
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x435f2b
cmp byte [ebx + 6], 0x4d
jne 0x435f2b
push 0x40000
mov byte [ebp - 0x11], 2
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x2c], eax
test eax, eax
jne 0x435df2
lea eax, [ebp - 0x4c]
push 0x49c69c
push eax
mov dword [ebp - 0x4c], str.Out_of_memory
call fcn.0048b19d
push 0
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x30], eax
test eax, eax
jne 0x435e18
lea ecx, [ebp - 0x54]
push 0x49c69c
push ecx
mov dword [ebp - 0x54], str.Out_of_memory
call fcn.0048b19d
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x40000
jle 0x435e54
mov eax, dword [0x517ff4]
lea edx, [ebp - 0x16c]
push 0x40
push edx
push 0x968
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0x16c]
push 0x49c69c
push edx
mov dword [ebp - 0x5c], ecx
call fcn.0048b19d
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebx + 0x2c]
sub ecx, esi
add ecx, edx
add edi, 0x10
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebp - 0x20]
mov dword [ecx], edx
mov eax, dword [ebx + 0x2c]
mov cl, byte [ebx + 7]
mov byte [eax + 4], cl
mov edx, dword [ebx + 0x2c]
mov al, byte [ebx + 8]
mov byte [edx + 5], al
mov ecx, dword [ebx + 0x2c]
mov dl, byte [ebx + 9]
mov byte [ecx + 6], dl
mov eax, dword [ebx + 0x2c]
mov cl, byte [ebx + 0xa]
mov byte [eax + 7], cl
mov edx, dword [ebx + 0x2c]
mov al, byte [ebx + 0xb]
mov byte [edx + 8], al
mov ecx, dword [ebx + 0x2c]
mov dl, byte [ebx + 0xc]
mov byte [ecx + 9], dl
mov eax, dword [ebx + 0x2c]
mov cl, byte [ebx + 0xd]
mov byte [eax + 0xa], cl
mov edx, dword [ebx + 0x2c]
mov al, byte [ebx + 0xe]
mov byte [edx + 0xb], al
mov ecx, dword [ebx + 0x2c]
mov dl, byte [ebx + 0xf]
mov byte [ecx + 0xc], dl
mov eax, dword [ebx + 0x2c]
mov cl, byte [ebx + 0x10]
mov byte [eax + 0xd], cl
mov edx, dword [ebx + 0x2c]
mov al, byte [ebx + 0x11]
mov byte [edx + 0xe], al
mov ecx, dword [ebx + 0x2c]
mov dl, byte [ebx + 0x12]
mov byte [ecx + 0xf], dl
mov byte [ebx + 3], 0x4e
mov byte [ebx + 4], 0x45
mov byte [ebx + 5], 0x53
mov byte [ebx + 6], 0x1a
mov byte [ebx + 7], 1
mov byte [ebx + 8], 0
mov byte [ebx + 9], 0xc0
mov byte [ebx + 0xa], 0
mov byte [ebx + 0xe], 0
mov byte [ebx + 0xd], 0
mov byte [ebx + 0xc], 0
mov byte [ebx + 0xb], 0
mov byte [ebx + 0x12], 0
mov byte [ebx + 0x11], 0
mov byte [ebx + 0x10], 0
mov byte [ebx + 0xf], 0
jmp 0x435a76
push 4
push str.UNIF
push edi
call fcn.0048b5e0
add esp, 0xc
test eax, eax
jne 0x436b95
mov esi, 0x10
lea edi, [ebp - 0x36c]
mov ecx, esi
mov dword [ebp - 0x28], eax
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [ebp - 0x16c]
mov dword [ebp - 0x2c], eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x2c], eax
mov byte [ebx + 8], al
mov byte [ebx + 7], al
mov byte [ebx + 0xa], al
mov byte [ebx + 9], al
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x34], eax
mov byte [ebp - 0x11], 3
rep stosd dword es:[edi], eax
mov byte [ebx + 0x25], 0xff
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
add eax, 0xfffffff0
mov dword [ebp + 8], esi
cmp esi, eax
jge 0x4361ef
mov eax, dword [esi + ecx]
mov edi, dword [esi + ecx + 4]
cmp eax, 0x5250414d
mov dword [ebp - 0x40], edi
jne 0x4360c3
cmp edi, 0x17
jb 0x435feb
mov eax, dword [ebp - 0x18]
mov edx, esi
mov ecx, 0x17
mov edi, str.BMC_NovelDiamond9999999
lea esi, [edx + eax + 8]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x435feb
mov byte [ebx + 0x25], 1
mov ecx, str.BMC_NovelDiamond9999999
lea edx, [ebx + 0x44]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x435fd5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x40]
lea esi, [eax + ecx + 8]
jmp 0x435f82
cmp dword [ebp - 0x40], 0x10
jb 0x436030
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov ecx, 4
mov edi, str.BTL_MARIO1_MALEE
lea esi, [eax + edx + 8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x436030
mov byte [ebx + 0x25], 2
mov ecx, str.BTL_MARIO1_MALEE
lea edx, [ebx + 0x44]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x436017
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x40]
lea esi, [eax + ecx + 8]
jmp 0x435f82
cmp dword [ebp - 0x40], 0x14
jb 0x436075
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov ecx, 5
mov edi, str.BMC_Supervision16in1
lea esi, [edx + eax + 8]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x436075
mov byte [ebx + 0x25], 3
mov ecx, str.BMC_Supervision16in1
lea edx, [ebx + 0x44]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x43605c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x40]
lea esi, [eax + ecx + 8]
jmp 0x435f82
cmp dword [ebp - 0x40], 0xe
jb 0x4361e0
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov ecx, 7
mov edi, str.BMC_Super24in1
lea esi, [eax + edx + 8]
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x4361e0
mov byte [ebx + 0x25], 4
mov ecx, str.BMC_Super24in1
lea edx, [ebx + 0x44]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4360aa
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x40]
lea esi, [eax + ecx + 8]
jmp 0x435f82
cmp eax, 0x5252494d
je 0x4361e0
cmp eax, 0x52544142
je 0x4361e0
mov ecx, eax
and ecx, 0xffffff
cmp ecx, 0x475250
jne 0x436168
shr eax, 0x18
sub eax, 0x30
cmp edi, 0x4000
mov dword [ebp - 0x30], eax
jae 0x436101
mov ecx, 0x4000
jmp 0x436117
mov ecx, edi
and ecx, 0xffffc000
test edi, 0x3fff
je 0x436117
add ecx, 0x4000
mov eax, ecx
cdq
and edx, 0x3fff
add eax, edx
mov edx, dword [ebx + 0x34]
sar eax, 0xe
and eax, 0xff
add edx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x34], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3ac], edi
mov dword [ebp + eax*4 - 0x2ac], ecx
lea edx, [esi + edx + 8]
mov dword [ebp + eax*4 - 0x36c], edx
mov eax, dword [ebp - 0x28]
add eax, ecx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
lea esi, [eax + ecx + 8]
jmp 0x435f82
cmp ecx, 0x524843
jne 0x4361e0
shr eax, 0x18
sub eax, 0x30
cmp edi, 0x2000
mov dword [ebp - 0x30], eax
jae 0x436188
mov ecx, 0x2000
jmp 0x43619e
mov ecx, edi
and ecx, 0xffffe000
test edi, 0x1fff
je 0x43619e
add ecx, 0x2000
mov eax, ecx
cdq
and edx, 0x1fff
add eax, edx
mov edx, dword [ebx + 0x38]
sar eax, 0xd
and eax, 0xff
add edx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x38], edx
lea edx, [esi + eax + 8]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x16c], edx
mov dword [ebp + eax*4 - 0x32c], edi
mov dword [ebp + eax*4 - 0x2ec], ecx
mov eax, dword [ebp - 0x2c]
add eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x40]
lea esi, [eax + ecx + 8]
jmp 0x435f82
mov edx, dword [ebp - 0x28]
push edx
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x2c], eax
test eax, eax
jne 0x436217
lea eax, [ebp - 0x6c]
push 0x49c69c
push eax
mov dword [ebp - 0x6c], str.Memory_error
call fcn.0048b19d
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0048ac32
add esp, 4
mov dword [ebx + 0x30], eax
test eax, eax
jne 0x43623f
lea edx, [ebp - 0x74]
push 0x49c69c
push edx
mov dword [ebp - 0x74], str.Memory_error
call fcn.0048b19d
xor edx, edx
xor eax, eax
mov esi, dword [ebp + eax*4 - 0x36c]
mov dword [ebp + 8], edx
test esi, esi
je 0x43627f
cmp eax, 0x10
jge 0x43627f
mov edi, dword [ebx + 0x2c]
mov ecx, dword [ebp + eax*4 - 0x3ac]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + eax*4 - 0x2ac]
add edx, esi
inc eax
jmp 0x436243
xor edx, edx
xor eax, eax
mov esi, dword [ebp + eax*4 - 0x16c]
mov dword [ebp + 8], edx
test esi, esi
je 0x435a76
cmp eax, 0x10
jge 0x435a76
mov edi, dword [ebx + 0x30]
mov ecx, dword [ebp + eax*4 - 0x32c]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + eax*4 - 0x2ec]
add edx, esi
inc eax
jmp 0x436283
mov al, byte [ebp - 0x11]
cmp al, 2
jne 0x4362d7
mov byte [ebx + 0x13], 0xc
jmp 0x436626
test al, al
jne 0x436626
mov eax, dword [ebx + 0x18]
mov edx, dword [ebx + 0x2c]
xor ecx, ecx
push eax
mov cl, byte [ebx + 7]
shl ecx, 0xe
push ecx
push edx
call fcn.0045d910
mov ecx, dword [ebx + 0x30]
mov dword [ebx + 0x18], eax
push eax
xor eax, eax
mov al, byte [ebx + 8]
shl eax, 0xd
push eax
push ecx
call fcn.0045d910
mov dword [ebx + 0x1c], eax
mov al, byte [0x528b90]
add esp, 0x18
test al, al
jne 0x436626
lea edx, [ebp - 0x4ac]
push 0x100
push edx
push 0
mov dword [ebp - 0x2c], 2
mov byte [ebp + 0xb], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x2c]
cmp eax, 2
lea eax, [ebp - 0x4ac]
push eax
jne 0x436359
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push str.famicom.dat
jmp 0x436364
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push str.nesdbase.dat
lea ecx, [ebp - 0x4ac]
lea edx, [ebp - 0x4ac]
push ecx
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineA]
lea eax, [ebp - 0x4ac]
push 0x4a0a98
push eax
call fcn.0048b5ca
mov esi, eax
add esp, 8
test esi, esi
je 0x43656e
push esi
lea ecx, [ebp - 0x26c]
push 0x100
push ecx
call fcn.0048c4af
add esp, 0xc
test eax, eax
je 0x43655e
mov cl, byte [ebp - 0x26c]
xor eax, eax
xor edi, edi
cmp cl, 0x3b
je 0x4363da
mov cl, byte [ebp + edi - 0x26c]
test cl, cl
je 0x436440
mov cl, byte [ebp + edi - 0x26b]
inc edi
cmp cl, 0x3b
jne 0x4363c2
mov cl, byte [ebp + edi - 0x26c]
test cl, cl
je 0x436440
inc edi
mov dword [ebp - 0x28], eax
mov cl, byte [ebp + edi - 0x26c]
cmp cl, 0x3b
je 0x436407
test cl, cl
je 0x436407
mov byte [ebp + eax - 0xec], cl
inc eax
inc edi
cmp eax, 8
jb 0x4363e9
mov cl, byte [ebp + edi - 0x26c]
test cl, cl
je 0x436440
mov byte [ebp + eax - 0xec], 0
lea edx, [ebp - 0x28]
lea eax, [ebp - 0xec]
push edx
push eax
inc edi
call fcn.004596c0
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x28]
add esp, 8
cmp eax, ecx
jne 0x436440
test eax, eax
je 0x436440
test ecx, ecx
jne 0x436462
push esi
lea ecx, [ebp - 0x26c]
push 0x100
push ecx
call fcn.0048c4af
add esp, 0xc
test eax, eax
jne 0x4363b3
jmp 0x43655e
mov al, byte [ebp + edi - 0x26c]
xor ecx, ecx
cmp al, 0x3b
je 0x436484
test al, al
je 0x436484
mov byte [ecx + ebx + 0x44], al
mov al, byte [ebp + edi - 0x26b]
inc ecx
inc edi
cmp al, 0x3b
jne 0x43646f
lea edx, [ebx + 0x44]
mov byte [ecx + ebx + 0x44], 0
push edx
call fcn.00462d00
mov al, byte [ebp + edi - 0x26b]
add esp, 4
inc edi
xor ecx, ecx
cmp al, 0x3b
je 0x4364b4
mov byte [ebp + ecx - 0x3c], al
mov al, byte [ebp + edi - 0x26b]
inc ecx
inc edi
cmp al, 0x3b
jne 0x4364a3
lea eax, [ebp - 0x3c]
inc edi
push eax
mov byte [ebp + ecx - 0x3c], 0
call fcn.0048c4a4
mov byte [ebp - 0x12], al
mov al, byte [ebp + edi - 0x26c]
add esp, 4
xor ecx, ecx
cmp al, 0x3b
je 0x4364e7
mov byte [ebp + ecx - 0x3c], al
mov al, byte [ebp + edi - 0x26b]
inc ecx
inc edi
cmp al, 0x3b
jne 0x4364d6
mov byte [ebp + ecx - 0x3c], 0
lea ecx, [ebp - 0x3c]
push ecx
inc edi
call fcn.0048c4a4
mov byte [ebp - 0x11], al
mov al, byte [ebp + edi - 0x26c]
add esp, 4
cmp al, 0x3b
je 0x436513
mov al, byte [ebp + edi - 0x26b]
inc edi
cmp al, 0x3b
jne 0x436507
mov al, byte [ebp + edi - 0x26b]
inc edi
cmp al, 0x3b
je 0x43652b
mov al, byte [ebp + edi - 0x26b]
inc edi
cmp al, 0x3b
jne 0x43651f
mov al, byte [ebp + edi - 0x26b]
inc edi
cmp al, 0x45
je 0x436549
cmp al, 0x50
jne 0x436545
cmp byte [ebp + edi - 0x26b], 0x44
je 0x436549
cmp al, 0x53
jne 0x43654d
mov byte [ebx + 0x24], 2
xor eax, eax
mov byte [eax + ebx + 0xb], 0
inc eax
cmp eax, 8
jb 0x43654f
mov byte [ebp + 0xb], 1
push esi
call fcn.0048b90e
mov al, byte [ebp + 0xb]
add esp, 4
test al, al
jne 0x436580
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
jne 0x43633d
jmp 0x436626
mov al, byte [ebx + 9]
mov cl, byte [ebp - 0x12]
cmp cl, al
mov al, byte [ebp - 0x11]
jne 0x43659b
mov dl, byte [ebx + 0xa]
xor dl, al
test dl, 0xf0
je 0x436626
mov dl, byte [0x528b91]
test dl, dl
je 0x436607
mov ecx, dword [0x517ff4]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x2ec]
push 0x40
push eax
push 0x900
push ecx
call esi
mov eax, dword [0x517ff4]
lea edx, [ebp - 0x32c]
push 0x40
push edx
push 0x8a1
push eax
call esi
mov eax, dword [0x517ff0]
lea ecx, [ebp - 0x2ec]
push 4
lea edx, [ebp - 0x32c]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x436626
mov cl, byte [ebx + 9]
mov al, byte [ebp - 0x11]
mov byte [ebx + 1], cl
mov cl, byte [ebp - 0x12]
jmp 0x43660d
mov dl, byte [ebx + 9]
mov byte [ebx + 1], dl
mov dl, byte [ebx + 0xa]
mov byte [ebx + 0xa], al
mov byte [ebx + 9], cl
and al, 0xf0
shr cl, 4
or al, cl
mov byte [ebx], 1
mov byte [ebx + 2], dl
mov byte [ebx + 0x13], al
mov al, byte [ebx + 0x13]
mov dword [ebx + 0x14], 0x2000
cmp al, 5
jne 0x43663b
mov dword [ebx + 0x14], 0x4000
mov eax, dword [ebx + 0x18]
cmp eax, 0x8e9a5e2f
ja 0x436910
je 0x436b42
cmp eax, 0x42e03e4a
ja 0x4367b2
je 0x4367a4
cmp eax, 0x286613d8
ja 0x43670e
je 0x436b32
cmp eax, 0x11eaad26
ja 0x4366d6
je 0x436b32
cmp eax, 0x973f714
ja 0x4366a6
je 0x436b62
cmp eax, 0x2863604
je 0x436760
cmp eax, 0x9499f4d
je 0x436b62
jmp 0x436b80
cmp eax, 0xb65a917
je 0x4366bd
cmp eax, 0xbe0a328
je 0x436b62
jmp 0x436b80
mov eax, dword [ebx + 0x2c]
mov byte [eax + 0x7fdf], 0xff
mov ecx, dword [ebx + 0x2c]
mov byte [ecx + 0x7fe4], 0
jmp 0x436b80
cmp eax, 0x190a3e11
ja 0x4366fe
je 0x436b62
cmp eax, 0x17627d4b
je 0x436979
cmp eax, 0x17ae56be
je 0x436b76
jmp 0x436b80
cmp eax, 0x19e81461
je 0x436b62
jmp 0x436b80
cmp eax, 0x2e991109
ja 0x43676c
je 0x436b62
cmp eax, 0x29401686
ja 0x43674a
je 0x43673b
cmp eax, 0x28c11d24
je 0x436760
cmp eax, 0x29155e0c
je 0x436b76
jmp 0x436b80
mov edx, dword [ebx + 0x2c]
mov byte [edx + 0x2b3e], 0x60
jmp 0x436b80
cmp eax, 0x2b548d75
je 0x436b42
cmp eax, 0x2bb6a0f8
jne 0x436b80
mov al, byte [ebx + 9]
and al, 0xf7
or al, 1
jmp 0x436b7d
cmp eax, 0x3296ff7a
ja 0x436794
je 0x436b62
cmp eax, 0x2f50bd38
je 0x436b42
cmp eax, 0x31cd9903
je 0x436b62
jmp 0x436b80
cmp eax, 0x429fd177
je 0x436b62
jmp 0x436b80
mov al, byte [ebx + 9]
mov byte [ebx + 0x13], 0x76
or al, 2
jmp 0x436b7d
cmp eax, 0x6175b9a0
ja 0x436877
je 0x43686e
cmp eax, 0x57970078
ja 0x436836
je 0x43681d
cmp eax, 0x4bba5080
ja 0x4367fe
je 0x4367f5
cmp eax, 0x46dc6e57
je 0x436b62
cmp eax, 0x4819a595
jne 0x436b80
mov al, byte [ebx + 9]
or al, 2
jmp 0x436b7d
mov byte [ebx + 0x13], 0xfe
jmp 0x436b80
cmp eax, 0x52449508
je 0x436b62
cmp eax, 0x547e6cc1
jne 0x436b80
mov byte [ebx + 0x13], 0x30
jmp 0x436b80
mov ecx, dword [ebx + 0x2c]
mov byte [ecx + 0x3fe1], 0xff
mov edx, dword [ebx + 0x2c]
mov byte [edx + 0x3fe6], 0
jmp 0x436b80
cmp eax, 0x58581770
ja 0x43685e
je 0x436760
cmp eax, 0x57c12c17
je 0x436b62
cmp eax, 0x57e3218b
je 0x436b42
jmp 0x436b80
cmp eax, 0x5b457641
je 0x436b62
jmp 0x436b80
mov byte [ebx + 0x13], 0xeb
jmp 0x436b80
cmp eax, 0x7eef434c
ja 0x4368c6
je 0x4368bd
cmp eax, 0x7172f3d4
ja 0x4368ad
je 0x436b62
cmp eax, 0x6467a5c4
je 0x4368a4
cmp eax, 0x66b2dec7
je 0x436b62
jmp 0x436b80
mov byte [ebx + 0x13], 0xea
jmp 0x436b80
cmp eax, 0x7831b2ff
je 0x436b62
jmp 0x436b80
mov byte [ebx + 0x13], 0x2f
jmp 0x436b80
cmp eax, 0x894efdbc
ja 0x436900
je 0x436b62
cmp eax, 0x8218c637
je 0x4368ef
cmp eax, 0x836cc1ab
jne 0x436b80
mov al, byte [ebx + 9]
or al, 2
jmp 0x436b7d
mov cl, byte [ebx + 9]
and cl, 0xfe
or cl, 8
mov byte [ebx + 9], cl
jmp 0x436b80
cmp eax, 0x8ce9c87b
je 0x436b62
jmp 0x436b80
cmp eax, 0xcbe85490
ja 0x436a72
je 0x436b76
cmp eax, 0xa5781280
ja 0x4369cf
je 0x436b62
cmp eax, 0x95ba5733
ja 0x43698c
je 0x436b32
cmp eax, 0x92b07fd9
ja 0x436967
je 0x436b62
cmp eax, 0x8ee6463a
je 0x436b62
cmp eax, 0x8fa95456
je 0x436b42
jmp 0x436b80
cmp eax, 0x932a077a
je 0x436983
cmp eax, 0x95aaed34
jne 0x436b80
mov al, byte [ebx + 9]
or al, 2
jmp 0x436b7d
mov byte [ebx + 0x13], 0x57
jmp 0x436b80
cmp eax, 0x9b6d2cb5
ja 0x4369bf
je 0x4369b0
cmp eax, 0x983d8175
je 0x436b62
cmp eax, 0x98c8e090
je 0x436b42
jmp 0x436b80
mov edx, dword [ebx + 0x2c]
mov byte [edx + 0x5b98], 0x80
jmp 0x436b80
cmp eax, 0xa524ae9b
je 0x436b62
jmp 0x436b80
cmp eax, 0xb1b9e187
ja 0x436a29
je 0x436b62
cmp eax, 0xaf2bbcbc
ja 0x436a19
je 0x436a00
cmp eax, 0xa71c3452
je 0x436760
cmp eax, 0xaf15338f
je 0x436b62
jmp 0x436b80
mov ecx, dword [ebx + 0x2c]
mov byte [ecx + 0x7fdf], 0xff
mov edx, dword [ebx + 0x2c]
mov byte [edx + 0x7fe4], 0
jmp 0x436b80
cmp eax, 0xaf754426
je 0x436b62
jmp 0x436b80
cmp eax, 0xbe06853f
ja 0x436a5d
je 0x436b62
cmp eax, 0xb56958d1
je 0x436b42
cmp eax, 0xb8747abf
jne 0x436b80
mov al, byte [ebx + 9]
mov dword [ebx + 0x14], 0x4000
or al, 2
jmp 0x436b7d
cmp eax, 0xc9cce8f2
jne 0x436b80
mov al, byte [ebx + 9]
or al, 2
jmp 0x436b7d
cmp eax, 0xeb2dba63
ja 0x436b10
je 0x436b0a
cmp eax, 0xe49fc53e
ja 0x436ad8
je 0x436b62
cmp eax, 0xd54f5da9
ja 0x436ab8
je 0x436b62
cmp eax, 0xcd35e2e9
je 0x436b42
cmp eax, 0xcee5857b
je 0x436b62
jmp 0x436b80
cmp eax, 0xdd454208
je 0x436b62
cmp eax, 0xe16bb5fe
jne 0x436b80
mov al, byte [ebx + 9]
and al, 0xf6
jmp 0x436b7d
cmp eax, 0xe6c28c5f
ja 0x436afc
je 0x436b42
cmp eax, 0xe63d9193
je 0x436b62
cmp eax, 0xe63f7d0b
jne 0x436b80
mov byte [ebx + 0x13], 0x65
jmp 0x436b80
cmp eax, 0xe91548d8
jne 0x436b80
mov al, byte [ebx + 9]
or al, 2
jmp 0x436b7d
mov byte [ebx + 0x13], 4
jmp 0x436b80
cmp eax, 0xf51a7f46
ja 0x436b4b
je 0x436b62
cmp eax, 0xf4120e58
ja 0x436b3b
je 0x436b32
cmp eax, 0xec47296d
je 0x436b62
cmp eax, 0xf3feb3ab
je 0x436b62
jmp 0x436b80
mov dword [ebx + 0x14], 0x10000
jmp 0x436b80
cmp eax, 0xf4cd4998
jne 0x436b80
mov dword [ebx + 0x14], 0x8000
jmp 0x436b80
cmp eax, 0xfe4e5b11
ja 0x436b6f
je 0x436b62
cmp eax, 0xfd3fc292
je 0x436b69
cmp eax, 0xfde79681
jne 0x436b80
mov al, byte [ebx + 9]
or al, 2
jmp 0x436b7d
mov byte [ebx + 0x13], 0x20
jmp 0x436b80
cmp eax, 0xff5135a3
jne 0x436b80
mov al, byte [ebx + 9]
and al, 0xfe
or al, 8
mov byte [ebx + 9], al
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, ebx
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [0x517ff4]
lea ecx, [ebp - 0x2ac]
push 0x40
push ecx
push 0x967
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
lea ecx, [ebp - 0x7c]
lea eax, [ebp - 0x2ac]
push 0x49c69c
push ecx
mov dword [ebp - 0x7c], eax
call fcn.0048b19d
lea edx, [ebp - 0x84]
push 0x49c69c
push edx
mov dword [ebp - 0x84], str.Error_reading_from_file
call fcn.0048b19d
lea eax, [ebp - 0x8c]
push 0x49c69c
push eax
mov dword [ebp - 0x8c], str.Error_loading_file:_out_of_memory
call fcn.0048b19d
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x436c0b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x436c1b
push eax
call fcn.0048ace4
add esp, 4
mov esi, dword [ebp - 0x94]
mov eax, dword [esi + 0x30]
test eax, eax
je 0x436c31
push eax
call fcn.0048ace4
add esp, 4
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x436c41
push eax
call fcn.0048ace4
add esp, 4
mov eax, dword [esi + 0x28]
test eax, eax
je 0x436c51
push eax
call fcn.0048ace4
add esp, 4
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x436c61
push eax
call fcn.0048ace4
add esp, 4
mov esi, dword [esi + 0x40]
test esi, esi
je 0x436c71
push esi
call fcn.0048ace4
add esp, 4
push 0
push 0
call fcn.0048b19d
nop
nop
nop
nop
nop
nop