Function at 0x42b700
Capabilities:
Enumerate pe sections
Read file on windows

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
mov eax, ecx
push edi
mov dword [esp + 0x30], eax
call fcn.004472b0
mov ebx, eax
test ebx, ebx
je 0x42ca0a
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 2
push 0
push 0
push ebx
call esi
push 0
push 0
push 0
push ebx
mov edi, eax
call esi
lea eax, [edi + 1]
push eax
push 0
push dword [0x49184c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x3c]
push eax
push edi
mov edi, dword [esp + 0x28]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [edi], 0x50555245
jne 0x42c9ee
mov eax, dword [edi + 8]
sub eax, 0x52455331
cmp eax, 8
ja 0x42c9ee
cmp dword [edi + 0xc], 0x53524354
lea ebx, [edi + 0xc]
jne 0x42c344
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
add eax, 4
add ebx, 8
add eax, ecx
mov dword [esp + 0x38], eax
cmp ebx, eax
jae 0x42c344
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x2c], eax
mov edi, edi
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42b7c5
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
add esp, 0xc
cmp byte [ebx], 0
je 0x42b7ee
inc ebx
cmp byte [ebx], 0
jne 0x42b7e8
mov ecx, edi
call fcn.0042f0d0
mov ecx, dword [0x492104]
mov edx, edi
mov dword [esp + 0x14], eax
call fcn.00428790
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x10], edi
mov eax, dword [ebx + 1]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 8]
movzx esi, word [ebx + 5]
mov word [edi + 0x18], si
cmp eax, 0x52455332
jl 0x42be80
add ebx, 7
cmp dword [edx + 8], 0x52455338
jl 0x42b843
movzx eax, word [ebx]
mov edx, 2
jmp 0x42b84f
movsx ax, byte [ebx]
mov edx, 1
movzx eax, ax
movzx ecx, ax
lea eax, [edx + ebx]
mov edx, dword [esp + 0x1c]
mov word [edi + 0x1a], cx
cmp dword [edx + 8], 0x52455337
jl 0x42b86d
mov dl, byte [eax]
lea edi, [eax + 1]
jmp 0x42b871
mov dl, 4
mov edi, eax
mov ebx, dword [esp + 0x14]
mov byte [ebx + 0x34], dl
mov edx, dword [esp + 0x1c]
cmp dword [edx + 8], 0x52455339
jl 0x42b88d
mov eax, dword [edi]
add edi, 4
mov dword [ebx + 0x24], eax
mov eax, ecx
or eax, 2
mov word [ebx + 0x1a], ax
mov ebx, edi
test cl, 4
je 0x42be8c
mov eax, dword [edx + 8]
movsx ecx, si
shl ecx, 4
cmp eax, 0x52455334
jge 0x42ba0a
call fcn.0042b200
mov ebx, dword [esp + 0x14]
mov ecx, eax
movsx eax, word [ebx + 0x18]
shl eax, 4
push eax
push 0
push ecx
mov dword [ebx + 0x1c], ecx
call fcn.00449e00
movsx ecx, word [ebx + 0x18]
add esp, 0xc
mov dword [esp + 0x28], 0
lea eax, [ecx + ecx*2]
lea ebx, [edi + eax*4]
test ecx, ecx
jle 0x42c336
xor esi, esi
lea edx, [edi + 9]
mov eax, 0xfffffff7
mov dword [esp + 0x24], esi
sub eax, edi
mov dword [esp + 0x20], edx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x34], eax
lea esp, [esp]
mov ecx, dword [edi + 0x1c]
movzx eax, byte [edx - 1]
mov byte [esi + ecx + 4], al
mov ecx, dword [edi + 0x1c]
movzx eax, byte [edx]
mov byte [esi + ecx + 5], al
mov esi, ebx
lea ecx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x42b930
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov esi, dword [esp + 0x24]
mov eax, dword [ecx + 0x1c]
mov dword [esi + eax], edi
cmp byte [ebx], 0
je 0x42b967
inc ebx
cmp byte [ebx], 0
jne 0x42b961
mov eax, dword [ecx + 0x1c]
inc ebx
movsx eax, byte [esi + eax + 4]
lea ecx, [eax + eax*2]
shl ecx, 2
call fcn.0042b200
mov edx, dword [esp + 0x14]
mov ecx, eax
xor edi, edi
mov eax, dword [edx + 0x1c]
mov dword [esi + eax + 0xc], ecx
mov ecx, dword [edx + 0x1c]
cmp byte [esi + ecx + 4], 0
jle 0x42b9da
xor edx, edx
jmp 0x42b9a0
mov ecx, dword [ecx + esi + 0xc]
add ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
mov al, byte [ebx]
inc ebx
mov byte [ecx + esi + 0xa], al
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x24]
cmp byte [edx + eax + 0xa], 5
jne 0x42b9c6
mov byte [edx + eax + 0xa], 0x15
mov eax, dword [esp + 0x14]
inc edi
add edx, 0xc
mov ecx, dword [eax + 0x1c]
movsx eax, byte [esi + ecx + 4]
cmp edi, eax
jl 0x42b9a0
mov edi, dword [esp + 0x14]
add esi, 0x10
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
inc ecx
add edx, 0xc
mov dword [esp + 0x28], ecx
movsx eax, word [edi + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
cmp ecx, eax
jl 0x42b910
jmp 0x42c336
cmp eax, 0x52455335
jg 0x42bb84
call fcn.0042b200
mov esi, dword [esp + 0x14]
mov ecx, eax
movsx eax, word [esi + 0x18]
shl eax, 4
push eax
push 0
push ecx
mov dword [esi + 0x1c], ecx
call fcn.00449e00
movsx eax, word [esi + 0x18]
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x28], 0
shl ebx, 4
add ebx, edi
test eax, eax
jle 0x42c336
mov eax, 0xfffffff7
lea edx, [edi + 9]
sub eax, edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], eax
lea ecx, [eax + edx]
movzx eax, byte [edx - 1]
add ecx, dword [esi + 0x1c]
mov esi, ebx
mov dword [esp + 0x18], ecx
mov byte [ecx + 4], al
movzx eax, byte [edx]
mov byte [ecx + 5], al
movzx eax, byte [edx + 1]
mov byte [ecx + 6], al
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42ba86
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov esi, dword [esp + 0x24]
add esp, 0xc
mov dword [esi], edi
cmp byte [ebx], 0
je 0x42bab6
nop
inc ebx
cmp byte [ebx], 0
jne 0x42bab0
movsx eax, byte [esi + 4]
inc ebx
lea ecx, [eax + eax*2]
shl ecx, 2
call fcn.0042b200
mov dword [esi + 0xc], eax
xor edi, edi
mov al, byte [esi + 4]
test al, al
jle 0x42bb01
xor edx, edx
mov ecx, dword [esi + 0xc]
mov al, byte [ebx]
inc ebx
mov byte [ecx + edx + 0xa], al
mov eax, dword [esi + 0xc]
cmp byte [eax + edx + 0xa], 5
jne 0x42baed
mov byte [eax + edx + 0xa], 0x15
mov cl, byte [esi + 4]
inc edi
movsx eax, cl
add edx, 0xc
mov byte [esp + 0x13], cl
cmp edi, eax
jl 0x42bad4
mov al, cl
mov cl, byte [esi + 6]
test cl, cl
je 0x42bb57
movsx ecx, cl
movsx edi, al
sub edi, ecx
shl ecx, 3
call fcn.0042b200
xor ebp, ebp
mov dword [esi + 8], eax
cmp byte [esi + 6], 0
jle 0x42bb57
lea edi, [edi + edi*2]
shl edi, 2
lea esp, [esp]
mov eax, dword [esi + 0xc]
mov ecx, ebx
movsx eax, byte [eax + edi + 0xa]
push eax
mov eax, dword [esi + 8]
lea edx, [eax + ebp*8]
call fcn.0042b690
mov ebx, eax
lea edi, [edi + 0xc]
movsx eax, byte [esi + 6]
inc ebp
add esp, 4
cmp ebp, eax
jl 0x42bb30
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
inc ecx
add edx, 0x10
mov dword [esp + 0x28], ecx
movsx eax, word [esi + 0x18]
cmp ecx, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x34]
jl 0x42ba63
jmp 0x42c332
call fcn.0042b200
mov ecx, dword [esp + 0x14]
mov ebx, edi
mov dword [esp + 0x24], 0
mov dword [ecx + 0x1c], eax
xor eax, eax
cmp ax, word [ecx + 0x18]
jge 0x42c336
xor ebp, ebp
mov dword [esp + 0x20], ebp
lea esp, [esp]
mov ecx, dword [ecx + 0x1c]
movzx eax, byte [ebx]
add ecx, ebp
mov dword [esp + 0x18], ecx
mov byte [ecx + 4], al
movzx eax, byte [ebx + 1]
mov byte [ecx + 5], al
movzx eax, byte [ebx + 2]
add ebx, 3
mov esi, ebx
mov byte [ecx + 6], al
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42bbd5
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov esi, dword [esp + 0x24]
add esp, 0xc
mov dword [esi], edi
cmp byte [ebx], 0
je 0x42bc06
mov edi, edi
inc ebx
cmp byte [ebx], 0
jne 0x42bc00
movsx eax, byte [esi + 4]
inc ebx
lea ecx, [eax + eax*2]
shl ecx, 2
call fcn.0042b200
mov dl, byte [esi + 4]
mov dword [esi + 0xc], eax
mov dword [esp + 0x28], 0
test dl, dl
jle 0x42be05
xor ebp, ebp
mov edi, edi
mov ecx, dword [esi + 0xc]
mov al, byte [ebx]
inc ebx
mov byte [ecx + ebp + 0xa], al
mov eax, dword [esi + 0xc]
cmp byte [eax + ebp + 0xa], 5
jne 0x42bc49
mov byte [eax + ebp + 0xa], 0x15
mov eax, dword [esi + 0xc]
movsx eax, byte [eax + ebp + 0xa]
sub eax, 0xe
je 0x42bd68
sub eax, 1
je 0x42bcdd
sub eax, 7
jne 0x42bde7
lea ecx, [eax + 8]
call fcn.0042b200
mov ecx, dword [esi + 0xc]
mov dword [ecx + ebp], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebp]
mov al, byte [ebx]
inc ebx
mov byte [ecx], al
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebp]
cmp byte [eax], 7
jne 0x42bde7
mov ecx, dword [0x488dc4]
call fcn.00427230
mov esi, ebx
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42bca4
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov dword [ecx + 8], edi
cmp byte [ebx], 0
je 0x42bdd6
inc ebx
cmp byte [ebx], 0
jne 0x42bcd2
jmp 0x42bdd6
mov ecx, 8
call fcn.0042b200
mov ecx, dword [esi + 0xc]
mov dword [ecx + ebp], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebp]
movzx eax, byte [ebx]
mov byte [ecx], al
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebp]
movzx eax, byte [ebx + 1]
add ebx, 2
mov byte [ecx + 1], al
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebp]
cmp byte [eax], 7
jne 0x42bde7
mov ecx, dword [0x488dc4]
call fcn.00427230
mov esi, ebx
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
jmp 0x42bd30
mov al, byte [esi]
inc esi
test al, al
jne 0x42bd30
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov dword [ecx + 8], edi
cmp byte [ebx], 0
je 0x42bdd6
lea ebx, [ebx]
inc ebx
cmp byte [ebx], 0
jne 0x42bd60
jmp 0x42bdd6
mov ecx, 8
call fcn.0042b200
mov ecx, dword [esi + 0xc]
mov dword [ecx + ebp], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebp]
mov al, byte [ebx]
inc ebx
mov byte [ecx], al
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebp]
cmp byte [eax], 7
jne 0x42bde7
mov ecx, dword [0x488dc4]
call fcn.00427230
mov esi, ebx
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42bda2
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov dword [ecx + 8], edi
cmp byte [ebx], 0
je 0x42bdd6
lea esp, [esp]
inc ebx
cmp byte [ebx], 0
jne 0x42bdd0
mov esi, dword [esp + 0x18]
inc ebx
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebp]
add eax, 4
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x28]
add ebp, 0xc
mov dl, byte [esi + 4]
inc ecx
movsx eax, dl
mov dword [esp + 0x28], ecx
cmp ecx, eax
jl 0x42bc30
mov ebp, dword [esp + 0x20]
mov al, byte [esi + 6]
test al, al
je 0x42be5b
movsx ecx, al
movsx edi, dl
sub edi, ecx
shl ecx, 3
call fcn.0042b200
xor ebp, ebp
mov dword [esi + 8], eax
cmp byte [esi + 6], 0
jle 0x42be57
lea edi, [edi + edi*2]
shl edi, 2
lea ecx, [ecx]
mov eax, dword [esi + 0xc]
mov ecx, ebx
movsx eax, byte [eax + edi + 0xa]
push eax
mov eax, dword [esi + 8]
lea edx, [eax + ebp*8]
call fcn.0042b690
mov ebx, eax
lea edi, [edi + 0xc]
movsx eax, byte [esi + 6]
inc ebp
add esp, 4
cmp ebp, eax
jl 0x42be30
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
add ebp, 0x10
mov edx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edx
movsx eax, word [ecx + 0x18]
cmp edx, eax
jl 0x42bbb0
jmp 0x42c332
mov eax, 2
add ebx, 9
mov word [edi + 0x1a], ax
mov edi, 1
mov dword [esp + 0x28], 1
cmp di, si
jg 0x42c336
mov eax, dword [edx + 8]
mov ecx, 0x28
cmp eax, 0x52455333
jge 0x42bf5c
mov eax, dword [ebx]
add ebx, 4
mov esi, ebx
add ebx, eax
mov dword [esp + 0x24], esi
call fcn.0042b200
mov ebp, eax
mov dword [ebp + 4], 0
mov al, byte [esi + 4]
mov byte [ebp + 0x26], al
movsx eax, word [esi + 8]
mov dword [ebp + 0x18], eax
xor eax, eax
mov word [ebp + 0x24], ax
cmp byte [esi + 5], al
je 0x42beec
mov word [ebp + 0x24], di
movsx eax, byte [esi + 0xa]
mov dword [ebp + 0x1c], eax
movsx eax, word [esi + 0xe]
mov dword [ebp + 0x20], eax
lea eax, [esi + 0x10]
mov esi, eax
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42bf06
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov esi, dword [esp + 0x38]
mov edi, eax
push esi
push edi
call fcn.0044a9b0
add esp, 0xc
mov dword [ebp], edi
lea ecx, [esi + 1]
mov edi, edi
mov al, byte [esi]
inc esi
test al, al
jne 0x42bf30
mov eax, dword [esp + 0x24]
sub esi, ecx
add eax, 0x11
add eax, esi
mov esi, eax
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
jmp 0x42bf50
mov al, byte [esi]
inc esi
test al, al
jne 0x42bf50
jmp 0x42bffa
cmp eax, 0x52455336
jge 0x42c023
mov eax, dword [ebx]
add ebx, 4
mov esi, ebx
add ebx, eax
mov dword [esp + 0x24], esi
call fcn.0042b200
mov ebp, eax
mov dword [ebp + 4], 0
mov al, byte [esi + 4]
mov byte [ebp + 0x26], al
mov eax, dword [esi + 8]
mov dword [ebp + 0x18], eax
mov ax, word [esi + 6]
mov word [ebp + 0x24], ax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x20], eax
lea eax, [esi + 0x18]
mov esi, eax
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
mov edi, edi
mov al, byte [esi]
inc esi
test al, al
jne 0x42bfb0
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov esi, dword [esp + 0x38]
mov edi, eax
push esi
push edi
call fcn.0044a9b0
add esp, 0xc
mov dword [ebp], edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42bfd8
mov eax, dword [esp + 0x24]
sub esi, ecx
add eax, 0x19
add eax, esi
mov esi, eax
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42bff3
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
push dword [esp + 0x38]
mov edi, eax
push edi
call fcn.0044a9b0
mov dword [ebp + 8], edi
add esp, 0xc
mov dword [ebp + 0xc], 0
jmp 0x42c2d0
call fcn.0042b200
mov ebp, eax
mov esi, ebx
mov dword [ebp + 4], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c036
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
add esp, 0xc
mov dword [ebp], edi
cmp byte [ebx], 0
je 0x42c066
lea esp, [esp]
inc ebx
cmp byte [ebx], 0
jne 0x42c060
mov al, byte [ebx + 1]
mov byte [ebp + 0x26], al
mov ax, word [ebx + 2]
add ebx, 4
mov esi, ebx
mov word [ebp + 0x24], ax
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c080
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
add esp, 0xc
mov dword [ebp + 8], edi
cmp byte [ebx], 0
je 0x42c0ac
inc ebx
cmp byte [ebx], 0
jne 0x42c0a6
mov dword [ebp + 0xc], 0
mov eax, dword [ebx + 1]
mov dword [ebp + 0x18], eax
mov eax, dword [ebx + 5]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebx + 9]
add ebx, 0xd
mov dword [ebp + 0x20], eax
movsx eax, byte [ebp + 0x26]
sub eax, 0xe
je 0x42c242
sub eax, 1
je 0x42c182
sub eax, 7
jne 0x42c2d0
lea ecx, [eax + 0x30]
call fcn.0042b200
mov ecx, eax
mov dword [ebp + 0x10], ecx
movsx eax, byte [ebx]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 1]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx + 5]
mov ecx, dword [ebp + 0x10]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 9]
add ebx, 0xd
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x1c], 7
jne 0x42c2d0
mov ecx, dword [0x488dc4]
call fcn.00427230
mov esi, ebx
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
lea ecx, [ecx]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c140
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov dword [ecx + 8], edi
cmp byte [ebx], 0
je 0x42c176
lea ebx, [ebx]
inc ebx
cmp byte [ebx], 0
jne 0x42c170
mov eax, dword [ebp + 0x10]
inc ebx
add eax, 0x20
jmp 0x42c2cd
mov ecx, 0x38
call fcn.0042b200
mov ecx, eax
mov dword [ebp + 0x10], ecx
movsx eax, byte [ebx]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp + 0x10]
movsx ecx, byte [ebx + 1]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 2]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 6]
add ebx, 0xa
mov dword [ecx + 0x20], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
shl ecx, 2
call fcn.0042b200
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dword [ecx + 0x28], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], edx
jle 0x42c1e8
mov ecx, dword [eax + 0x28]
mov eax, dword [ebx]
add ebx, 4
mov dword [ecx + edx*4], eax
inc edx
mov eax, dword [ebp + 0x10]
cmp edx, dword [eax + 0x18]
jl 0x42c1d4
cmp dword [eax + 0x14], 7
jne 0x42c2d0
mov ecx, dword [0x488dc4]
call fcn.00427230
mov esi, ebx
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c206
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov dword [ecx + 8], edi
cmp byte [ebx], 0
je 0x42c236
inc ebx
cmp byte [ebx], 0
jne 0x42c230
mov eax, dword [ebp + 0x10]
inc ebx
add eax, 0x1c
jmp 0x42c2cd
mov ecx, 0x28
call fcn.0042b200
mov ecx, eax
mov dword [ebp + 0x10], ecx
movsx eax, byte [ebx]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 1]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 5]
add ebx, 9
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x14], 7
jne 0x42c2d0
mov ecx, dword [0x488dc4]
call fcn.00427230
mov esi, ebx
mov dword [esp + 0x34], eax
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c290
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov dword [ecx + 8], edi
cmp byte [ebx], 0
je 0x42c2c6
lea ebx, [ebx]
inc ebx
cmp byte [ebx], 0
jne 0x42c2c0
mov eax, dword [ebp + 0x10]
inc ebx
add eax, 0x18
mov dword [ecx + 0xc], eax
cmp byte [ebp + 0x26], 7
lea esi, [ebp + 0x14]
mov dword [esi], 0
jne 0x42c2fb
test byte [ebp + 0x24], 1
jne 0x42c2fb
mov ecx, dword [0x488dc4]
call fcn.00427230
mov ecx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
cmp ecx, 1
jle 0x42c311
mov eax, dword [esp + 0x2c]
mov dword [eax + 4], ebp
jmp 0x42c314
mov dword [edi + 0x1c], ebp
movsx eax, word [edi + 0x18]
inc ecx
mov edx, dword [esp + 0x1c]
mov edi, 1
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ecx
cmp ecx, eax
jle 0x42bea2
mov ebp, dword [esp + 0x18]
cmp ebx, dword [esp + 0x38]
jb 0x42b7c0
mov edi, dword [esp + 0x1c]
cmp dword [ebx], 0x434e5354
jne 0x42c61d
mov eax, dword [ebx + 4]
add ebx, 8
add eax, ebx
mov dword [esp + 0x38], eax
cmp ebx, eax
jae 0x42c61d
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x18], esi
cmp dword [0x4afc48], 0
jne 0x42c61d
cmp byte [ebx], 0
mov ecx, ebx
mov dword [esp + 0x20], ecx
je 0x42c38e
inc ebx
cmp byte [ebx], 0
jne 0x42c388
mov eax, dword [edi + 8]
cmp eax, 0x52455334
jl 0x42c431
mov al, byte [ebx + 1]
add ebx, 2
movsx eax, al
cmp eax, 6
ja case.default.0x42c3ae
jmp dword [eax*4 + 0x42ca14]
movsx eax, byte [ebx]
inc ebx
jmp 0x42c49b
movsx eax, word [ebx]
add ebx, 2
jmp 0x42c49b
mov eax, dword [ebx]
add ebx, 4
jmp 0x42c49b
mov esi, dword [ebx + 4]
xor ebp, ebp
or ebp, dword [ebx]
add ebx, 8
jmp 0x42c4a0
mov eax, dword [ebx]
add ebx, 4
cdq
mov ebp, eax
mov dword [esp + 0x14], 4
mov esi, edx
jmp 0x42c4a8
mov esi, dword [ebx + 4]
xor ebp, ebp
or ebp, dword [ebx]
add ebx, 8
mov dword [esp + 0x14], 4
jmp 0x42c4a8
cmp byte [ebx], 0
mov eax, ebx
cdq
mov esi, edx
mov ebp, eax
mov dword [esp + 0x18], esi
je 0x42c426
inc ebx
cmp byte [ebx], 0
jne 0x42c420
inc ebx
mov dword [esp + 0x14], 8
jmp case.default.0x42c3ae
cmp eax, 0x52455332
jl 0x42c495
movsx eax, byte [ebx + 1]
add ebx, 2
mov dword [esp + 0x14], eax
test al, 4
jne 0x42c487
test al, 8
je 0x42c487
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c450
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
add esp, 0xc
cmp byte [ebx], 0
je 0x42c479
inc ebx
cmp byte [ebx], 0
jne 0x42c473
mov ecx, dword [esp + 0x20]
mov eax, edi
cdq
inc ebx
mov ebp, eax
mov esi, edx
jmp 0x42c4a8
mov edi, dword [ebx]
mov eax, edi
cdq
add ebx, 4
mov ebp, eax
mov esi, edx
jmp 0x42c4a8
mov eax, dword [ebx + 1]
add ebx, 5
cdq
mov esi, edx
mov ebp, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], esi
xor edi, edi
call fcn.00413210
mov edx, eax
test edx, edx
je 0x42c576
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], esi
test al, 4
je 0x42c4fd
fld qword [edx + 0x18]
fld qword [esp + 0x58]
mov esi, dword [esp + 0x20]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42c56f
push esi
push 0xdc
call fcn.00412c30
add esp, 8
mov edi, 1
jmp 0x42c57a
test al, 8
je 0x42c548
mov eax, dword [edx + 0x18]
mov ecx, ebp
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42c526
test dl, dl
je 0x42c522
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42c526
add eax, 2
add ecx, 2
test dl, dl
jne 0x42c506
xor eax, eax
jmp 0x42c52b
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x20]
test eax, eax
je 0x42c56f
push esi
push 0xdc
call fcn.00412c30
add esp, 8
mov edi, 1
jmp 0x42c57a
cmp dword [edx + 0x18], ebp
jne 0x42c552
cmp dword [edx + 0x1c], esi
je 0x42c56b
mov esi, dword [esp + 0x20]
push esi
push 0xdc
call fcn.00412c30
add esp, 8
mov edi, 1
jmp 0x42c57a
mov esi, dword [esp + 0x20]
mov edi, 1
jmp 0x42c57a
mov esi, dword [esp + 0x20]
cmp dword [0x4afc48], 0
jne 0x42c60b
test edi, edi
jne 0x42c60b
cmp dword [0x4b0450], edi
jne 0x42c5a6
cmp dword [0x4a9cd0], edi
jne 0x42c5a6
mov eax, dword [0x49217c]
jmp 0x42c5ae
mov eax, dword [0x49212c]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x2c], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c5b5
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
push dword [esp + 0x24]
mov edi, eax
push edi
call fcn.0044a9b0
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov edx, edi
call fcn.00428790
mov esi, eax
mov eax, dword [esp + 0x14]
test al, 8
je 0x42c5fb
mov ecx, ebp
call fcn.0042b2a0
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x14]
jmp 0x42c605
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], ecx
or eax, 2
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x38]
jb 0x42c370
cmp dword [ebx], 0x5243414d
jne 0x42c7e2
mov eax, dword [ebx + 4]
add ebx, 8
add eax, ebx
mov dword [esp + 0x38], eax
cmp ebx, eax
jae 0x42c7e2
lea ecx, [ecx]
cmp dword [0x4afc48], 0
jne 0x42c7e2
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c652
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
add esp, 0xc
cmp byte [ebx], 0
je 0x42c67b
inc ebx
cmp byte [ebx], 0
jne 0x42c675
mov ecx, dword [0x492130]
mov edx, edi
inc ebx
call fcn.00428790
mov ebp, eax
test ebp, ebp
je 0x42c7c9
mov ecx, dword [0x492134]
mov edx, edi
call fcn.00428790
mov dword [eax + 0x10], ebp
mov eax, dword [0x492130]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebx]
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x2c], 0
movsx ecx, byte [ebx + 4]
add ebx, 5
mov dword [ebp + 0x24], ecx
test ecx, ecx
je 0x42c723
shl ecx, 2
call fcn.0042b200
cmp dword [ebp + 0x24], 0
mov dword [ebp + 0x10], eax
mov dword [esp + 0x2c], 0
jle 0x42c723
mov edi, edi
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c6e5
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov dword [eax + ecx*4], edi
cmp byte [ebx], 0
je 0x42c718
inc ebx
cmp byte [ebx], 0
jne 0x42c712
inc ecx
inc ebx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [ebp + 0x24]
jl 0x42c6e0
movsx ecx, byte [ebx]
inc ebx
mov dword [ebp + 0x28], ecx
test ecx, ecx
je 0x42c791
shl ecx, 2
call fcn.0042b200
cmp dword [ebp + 0x28], 0
mov dword [ebp + 0x14], eax
mov dword [esp + 0x2c], 0
jle 0x42c791
mov esi, ebx
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c750
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov dword [eax + ecx*4], edi
cmp byte [ebx], 0
je 0x42c786
lea ecx, [ecx]
inc ebx
cmp byte [ebx], 0
jne 0x42c780
inc ecx
inc ebx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [ebp + 0x28]
jl 0x42c747
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c796
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
add esp, 0xc
mov dword [ebp + 0x18], edi
cmp byte [ebx], 0
je 0x42c7c6
lea esp, [esp]
inc ebx
cmp byte [ebx], 0
jne 0x42c7c0
inc ebx
jmp 0x42c7d8
push dword [esp + 0x30]
push edi
push 0x27
call fcn.00412c30
add esp, 0xc
cmp ebx, dword [esp + 0x38]
jb 0x42c640
cmp dword [ebx], 0x544f5250
jne 0x42c9ea
mov eax, dword [ebx + 4]
add ebx, 8
add eax, ebx
mov dword [esp + 0x34], eax
cmp ebx, eax
jae 0x42c9ea
cmp dword [0x4afc48], 0
jne 0x42c9ea
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c814
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
add esp, 0xc
cmp byte [ebx], 0
je 0x42c83d
inc ebx
cmp byte [ebx], 0
jne 0x42c837
mov ecx, dword [0x492114]
mov edx, edi
inc ebx
call fcn.00428790
mov ebp, eax
test ebp, ebp
je 0x42c9d1
mov ecx, dword [0x492110]
mov edx, edi
call fcn.00428790
mov dword [eax + 0x10], ebp
movsx eax, byte [ebx]
mov dword [ebp + 0x38], eax
movzx eax, word [ebx + 1]
mov word [ebp + 0x30], ax
movsx ecx, byte [ebx + 3]
mov dword [ebp + 0x1c], ecx
movsx eax, byte [ebx + 4]
mov word [ebp + 0x40], ax
mov eax, dword [ebx + 5]
lea ecx, [ecx + ecx*2]
shl ecx, 2
add ebx, 9
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], 1
call fcn.0042b200
mov ecx, dword [ebp + 0x1c]
xor esi, esi
mov dword [ebp + 0x2c], eax
test ecx, ecx
jle 0x42c8df
xor edx, edx
jmp 0x42c8b0
mov ecx, dword [ebp + 0x2c]
lea edx, [edx + 0xc]
movzx eax, byte [ebx]
inc esi
mov byte [edx + ecx - 2], al
mov ecx, dword [ebp + 0x2c]
movzx eax, byte [ebx + 1]
mov byte [edx + ecx - 1], al
mov ecx, dword [ebp + 0x2c]
mov ax, word [ebx + 2]
add ebx, 8
mov word [edx + ecx - 4], ax
mov ecx, dword [ebp + 0x1c]
cmp esi, ecx
jl 0x42c8b0
xor eax, eax
mov word [ebp + 0x42], ax
test ecx, ecx
jle 0x42c90e
mov edx, dword [ebp + 0x2c]
add edx, 0xa
nop
mov al, byte [edx]
cmp al, 0x10
je 0x42c902
cmp al, 0x11
je 0x42c902
cmp al, 0x12
je 0x42c902
cmp al, 0x13
jne 0x42c906
inc word [ebp + 0x42]
add edx, 0xc
sub ecx, 1
jne 0x42c8f0
movzx eax, word [ebp + 0x40]
test ax, ax
je 0x42c9e0
movsx ecx, ax
shl ecx, 3
call fcn.0042b200
mov ecx, dword [ebp + 0x1c]
xor edx, edx
mov dword [ebp + 0x3c], eax
movsx eax, word [ebp + 0x40]
sub ecx, eax
mov dword [esp + 0x2c], edx
test eax, eax
jle 0x42c9e0
lea ecx, [ecx + ecx*2]
shl ecx, 2
mov dword [esp + 0x28], ecx
lea ebx, [ebx]
mov eax, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x38], esi
mov al, byte [ecx + eax + 0xa]
cmp al, 8
je 0x42c979
cmp al, 0xa
je 0x42c979
mov ecx, dword [ebx + 4]
xor eax, eax
or eax, dword [ebx]
add ebx, 8
mov dword [esi + edx*8], eax
mov dword [esi + edx*8 + 4], ecx
jmp 0x42c9b7
mov esi, ebx
lea ecx, [esi + 1]
mov edi, edi
mov al, byte [esi]
inc esi
test al, al
jne 0x42c980
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b200
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov edx, dword [esp + 0x38]
add esp, 0xc
mov eax, dword [esp + 0x38]
mov dword [eax + edx*8], edi
cmp byte [ebx], 0
je 0x42c9b6
mov edi, edi
inc ebx
cmp byte [ebx], 0
jne 0x42c9b0
inc ebx
mov ecx, dword [esp + 0x28]
inc edx
movsx eax, word [ebp + 0x40]
add ecx, 0xc
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
cmp edx, eax
jl 0x42c950
jmp 0x42c9e0
push dword [esp + 0x30]
push edi
push 0x1c
call fcn.00412c30
add esp, 0xc
cmp ebx, dword [esp + 0x34]
jb 0x42c802
mov edi, dword [esp + 0x1c]
push edi
push 0
push dword [0x49184c]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret