Function at 0x40e750
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1a8
mov esi, esp
push eax
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
sub esp, 8
mov dword [esi + 0x11c], esp
sub esp, 8
mov dword [esi + 0x118], esp
sub esp, 8
mov dword [esi + 0x114], esp
sub esp, 8
mov dword [esi + 0x110], esp
sub esp, 8
mov dword [esi + 0x10c], esp
sub esp, 8
mov dword [esi + 0x108], esp
sub esp, 8
mov dword [esi + 0x104], esp
sub esp, 8
mov dword [esi + 0x100], esp
sub esp, 0xc
mov edi, esp
push eax
mov dword [esi + 0xd4], esp
sub esp, 0x68
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0xd8], ebx
mov esp, ebx
push eax
push eax
mov dword [esi + 0x170], esp
push eax
mov dword [esi + 0x16c], esp
push eax
mov dword [esi + 0x134], esp
sub esp, 8
mov dword [esi + 0xe8], esp
sub esp, 8
mov dword [esi + 0x12c], esp
sub esp, 8
mov dword [esi + 0x184], esp
sub esp, 0x68
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0xcc], ebx
mov esp, ebx
push eax
sub esp, 8
mov dword [esi + 0x164], esp
sub esp, 8
mov dword [esi + 0x50], esp
sub esp, 0x50
mov dword [esi + 0xc8], esp
sub esp, 8
mov dword [esi + 0xe4], esp
sub esp, 8
mov dword [esi + 0xe0], esp
sub esp, 8
mov dword [esi + 0xdc], esp
push eax
mov dword [esi + 0x180], esp
sub esp, 8
mov dword [esi + 0x128], esp
sub esp, 8
mov dword [esi + 0x130], esp
mov dword [esi + 0x4c], edi
mov dword [esi + 0x160], edx
mov dword [esi + 0x124], ecx
mov dword [esi + 0xd0], eax
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x120], eax
mov esp, eax
mov dword [esi + 0x60], 0x74d0
mov byte [esi + 0x64], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 4
ja 0x40e8cc
nop
nop
nop
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x60]
add eax, 0x77d7813
xor eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xa0
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x60], al
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
cmp eax, 5
jb 0x40e8a0
lea eax, [esi + 0x60]
push eax
push dword [ebp + 8]
call fcn.00403440
add esp, 8
mov ebx, eax
xor ecx, ecx
test eax, eax
sete cl
xor edi, edi
xor eax, eax
mov edx, dword [esi + 0x130]
jmp dword [ecx*4 + 0x4452cc]
mov eax, dword [esi + 0x50]
inc eax
mov dword [esi + 0x154], eax
mov eax, dword [esi + 0x104]
add eax, 2
mov dword [esi + 0x148], eax
mov eax, dword [esi + 0x108]
add eax, 2
mov dword [esi + 0x144], eax
mov eax, dword [esi + 0x10c]
add eax, 2
mov dword [esi + 0x140], eax
mov eax, dword [esi + 0x110]
add eax, 2
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x114]
add eax, 2
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0x118]
add eax, 3
mov dword [esi + 0x14c], eax
mov eax, dword [esi + 0x11c]
add eax, 2
mov dword [esi + 0x150], eax
mov eax, dword [esi + 0xd0]
add eax, 2
mov dword [esi + 0x15c], eax
add edx, 3
mov dword [esi + 0x17c], edx
mov eax, dword [esi + 0xe0]
add eax, 2
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0xc8]
add eax, 0x4a
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x12c]
add eax, 3
mov dword [esi + 0x178], eax
mov eax, dword [esi + 0xe8]
add eax, 3
mov dword [esi + 0x174], eax
mov edx, ebx
mov dword [esi + 0x34], ebx
jmp 0x40e9d4
mov edi, dword [esi + 0x188]
inc edi
push edx
mov ebx, edx
call fcn.00403990
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x4452d4]
mov dword [esi + 0x188], edi
push edi
push ebx
call fcn.004039a0
add esp, 8
mov edi, eax
mov word [esi + 0x60], 0xef92
mov dword [esi + 0x62], 0
mov byte [esi + 0x66], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 6
ja 0x40ea5c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x60]
add eax, 0x33bd4ce8
xor eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xfa
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x60], al
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
cmp eax, 7
jb 0x40ea30
push 3
lea ebx, [esi + 0x60]
push ebx
push edi
call fcn.00403870
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
mov edx, dword [esi + 0x34]
jmp dword [ecx*4 + 0x4452dc]
mov word [esi + 0x60], 0x3b8
lea eax, [esi + 0x62]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 7
ja 0x40eacc
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x60]
add eax, 0x5b5d07e7
xor eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0x15
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x60], al
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
cmp eax, 8
jb case.default.0x40eb06
push ebx
push edi
call fcn.00403310
add esp, 8
fnstcw word [esi + 0x5a]
movzx eax, word [esi + 0x5a]
or eax, 0xc00
mov word [esi + 0xf6], ax
fldcw word [esi + 0xf6]
fistp dword [esi + 0x19c]
fldcw word [esi + 0x5a]
mov eax, dword [esi + 0x19c]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x4452e4]
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x4452ec]
sete al
movzx eax, al
mov edx, dword [esi + 0x34]
jmp dword [eax*4 + 0x4452f4]
jmp dword [0x445378]
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x4452fc]
mov edx, dword [esi + 0x170]
mov word [edx], 0x7be8
mov dword [edx + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x40eb9a
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
add eax, 0x8aab3849
xor eax, ecx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add al, 0xcf
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x40eb70
push edx
push edi
call fcn.004031e0
add esp, 8
mov dword [esi + 0x24], eax
mov edx, dword [esi + 0x16c]
mov dword [edx], 0x1598
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x40ebfa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
add eax, 0xdfb3eaad
xor eax, ecx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add al, 0x45
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x40ebd0
push edx
push edi
call fcn.004031e0
add esp, 8
mov edi, dword [esi + 0x24]
test edi, edi
sete dl
mov dword [esi + 0x18], eax
test eax, eax
sete cl
or cl, dl
movzx eax, cl
mov edx, dword [esi + 0x34]
jmp dword [eax*4 + 0x445454]
mov eax, edi
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
inc eax
cmp byte [edi], 0
jne 0x40ec30
mov dword [esi + 0xc], 0
cmp edi, ecx
jbe 0x40ec87
cmp byte [ecx], 0
je 0x40ec87
mov dword [esi + 0xc], 0
mov ebx, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0x60], 0
lea eax, [esi + 0x60]
push eax
push edi
push ebx
call fcn.0040d270
add esp, 0xc
inc dword [esi + 0xc]
lea ecx, [ebx + eax]
cmp ecx, edi
jae 0x40ec87
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x40ec60
mov ebx, dword [esi + 0xc]
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x40ec98
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov dword [esi + 0x60], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x1c], ecx
cmp eax, ecx
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x24]
jae 0x40f1a1
mov edx, dword [esi + 0x38]
cmp ebx, edi
jae 0x40f1a1
mov edx, dword [esi + 0x38]
nop
cmp byte [ebx], 0
je 0x40f1a1
lea eax, [esi + 0x60]
push eax
push edi
push ebx
mov dword [esi + 0xc], edx
call fcn.0040d270
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 0x60]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x1c]
jae 0x40f19e
add ebx, eax
cmp ebx, edi
mov eax, dword [esi + 0x18]
jb 0x40ecd0
jmp 0x40f1a1
mov edx, dword [esi + 0xe4]
mov word [edx], 0xe9a6
mov dword [edx + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x40ed79
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0xe4]
movzx edx, byte [edx + ecx]
lea ecx, [eax + edx]
dec eax
and eax, edx
sub ecx, eax
add ecx, 0x4eed98ff
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov edx, dword [esi + 0xe4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add al, 0x17
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x40ed30
push edx
push edi
call fcn.004031e0
add esp, 8
mov dword [esi + 0x24], eax
mov edx, dword [esi + 0xe0]
mov word [edx], 0xc83
mov eax, dword [esi + 0x168]
mov dword [eax], 0
mov word [eax + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x40edfc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
lea edx, [eax + 0xd6]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov edx, dword [esi + 0xe0]
add eax, 0xdc8c49d6
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add al, 0x25
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x40edc0
push edx
push edi
call fcn.004031e0
add esp, 8
mov edi, dword [esi + 0x24]
test edi, edi
sete dl
mov dword [esi + 0x1c], eax
test eax, eax
sete cl
or cl, dl
movzx eax, cl
mov edx, dword [esi + 0x34]
jmp dword [eax*4 + 0x4454cc]
mov eax, edi
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
inc eax
cmp byte [ebx], 0
jne 0x40ee30
mov dword [esi + 0xc], 0
cmp ebx, ecx
jbe 0x40ee87
cmp byte [ecx], 0
je 0x40ee87
mov dword [esi + 0xc], 0
mov edi, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0x60], 0
lea eax, [esi + 0x60]
push eax
push ebx
push edi
call fcn.0040d270
add esp, 0xc
inc dword [esi + 0xc]
lea ecx, [edi + eax]
cmp ecx, ebx
jae 0x40ee87
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x40ee60
mov edi, dword [esi + 0xc]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x40ee98
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov dword [esi + 0x60], 0
lea ecx, [eax + edi*2]
mov edx, eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x18], ecx
cmp eax, ecx
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + 0x24]
jae 0x40f6b6
mov edx, dword [esi + 0x2c]
cmp edi, ebx
jae 0x40f6b6
mov edx, dword [esi + 0x2c]
nop
cmp byte [edi], 0
je 0x40f6b6
lea eax, [esi + 0x60]
push eax
push ebx
push edi
mov dword [esi + 0xc], edx
call fcn.0040d270
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 0x60]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x18]
jae 0x40f6b3
add edi, eax
cmp edi, ebx
mov eax, dword [esi + 0x1c]
jb 0x40eed0
jmp 0x40f6b6
sete al
movzx eax, al
mov edx, dword [esi + 0x34]
jmp dword [eax*4 + 0x445304]
mov eax, dword [esi + 0x18]
mov word [edx], 0
lea ebx, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x40f1b0
mov ecx, ebx
xor ebx, ebx
mov dword [esi + 0xc], ecx
cmp eax, ecx
jae 0x40f1f8
cmp byte [eax], 0
je 0x40f1f8
xor ebx, ebx
mov edi, dword [esi + 0x18]
nop
nop
mov dword [esi + 0x60], 0
lea eax, [esi + 0x60]
push eax
push dword [esi + 0xc]
push edi
call fcn.0040d270
add esp, 0xc
inc ebx
lea ecx, [edi + eax]
cmp ecx, dword [esi + 0xc]
jae 0x40f1f8
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x40f1d0
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x40f206
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov dword [esi + 0x60], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x1c], ecx
cmp eax, ecx
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0xc]
jae 0x40f26e
mov edx, dword [esi + 0x2c]
cmp edi, ebx
jae 0x40f26e
mov edx, dword [esi + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x40f26e
lea eax, [esi + 0x60]
push eax
push ebx
push edi
mov dword [esi + 0x18], edx
call fcn.0040d270
mov edx, dword [esi + 0x18]
add esp, 0xc
movzx ecx, word [esi + 0x60]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x1c]
jae 0x40f26e
add edi, eax
cmp edi, ebx
jb 0x40f240
mov word [edx], 0
mov edi, dword [esi + 0x134]
mov dword [edi], 0x788fa
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x40f2dd
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
lea edi, [eax + 0x5b74ba4a]
lea ecx, [eax + edx]
add ecx, 0x5b74ba4a
add eax, 0x4a
or eax, edi
mov edi, dword [esi + 0x134]
and eax, edx
mov edx, eax
xor edx, ecx
add edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add al, 0xb5
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x40f290
push edi
push dword [ebp + 8]
call fcn.00403440
add esp, 8
xor ecx, ecx
mov dword [esi + 0x28], eax
test eax, eax
setne cl
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], 0
jmp dword [ecx*4 + 0x44545c]
mov edi, dword [esi + 0xcc]
mov ecx, edi
push 2
call fcn.0040a140
push dword [esi + 0x24]
mov ebx, dword [esi + 0x1c]
push ebx
push dword [esi + 0x2c]
push dword [esi + 0x38]
push edi
call fcn.00413820
add esp, 0x14
mov ecx, edi
call fcn.0040aa00
movzx eax, al
jmp dword [eax*4 + 0x44548c]
push dword [esi + 0x28]
call fcn.00403990
add esp, 4
mov ecx, eax
mov dword [esi + 0x24], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov edi, 0xffffffff
add eax, 4
jb 0x40f396
mov edi, eax
test dl, dl
jne 0x40f39c
mov ecx, edi
push ecx
call fcn.00409a50
add esp, 4
mov ecx, dword [esi + 0x24]
mov dword [eax], ecx
add eax, 4
mov dword [esi + 0x1c], eax
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x445464]
mov eax, dword [esi + 0x24]
lea eax, [eax + eax*2]
mov edi, dword [esi + 0x1c]
lea eax, [edi + eax*4]
mov ecx, dword [0x44546c]
mov edx, dword [0x445474]
jmp ecx
mov eax, dword [esi + 0x1c]
mov word [edx], 0
xor edi, edi
mov ebx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + edi], 0
lea edi, [edi + 1]
jne 0x40f6d0
lea eax, [ebx + 2]
test edi, edi
jns 0x40f6e8
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov dword [esi + 0x60], 0
add ebx, eax
mov dword [esi + 0xc], eax
cmp eax, ebx
mov edx, dword [esi + 0xdc]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x1c]
jae 0x40f762
add edi, ecx
dec edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], edi
cmp ecx, edi
jae 0x40f762
mov dword [esi + 0xc], eax
nop
nop
nop
cmp byte [ecx], 0
je 0x40f762
lea eax, [esi + 0x60]
push eax
push dword [esi + 0x18]
push ecx
mov edi, ecx
call fcn.0040d270
add esp, 0xc
movzx ecx, word [esi + 0x60]
mov edx, dword [esi + 0xc]
mov word [edx], cx
add edx, 2
mov dword [esi + 0xc], edx
cmp edx, ebx
jae 0x40f75c
add edi, eax
cmp edi, dword [esi + 0x18]
mov edx, dword [esi + 0xdc]
mov ecx, edi
jb 0x40f720
jmp 0x40f762
mov edx, dword [esi + 0xdc]
mov eax, dword [esi + 0xc]
mov word [eax], 0
mov word [edx], 0x608
mov byte [edx + 2], 0x9f
mov dword [edx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x40f7ba
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
add eax, 0xa319cba9
xor eax, ecx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add al, 0xcc
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x40f790
push edx
push dword [ebp + 8]
call fcn.00403440
add esp, 8
xor ecx, ecx
mov dword [esi + 0x38], eax
test eax, eax
setne cl
mov dword [esi + 0x24], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x4454d4]
mov dword [esi + 0x28], ebx
mov edi, dword [esi + 0x120]
mov ebx, dword [esi + 0x24]
jmp dword [0x445508]
push dword [esi + 0x38]
call fcn.00403990
add esp, 4
mov ebx, eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov edi, 0xffffffff
add eax, 4
jb 0x40f81a
mov edi, eax
test dl, dl
jne 0x40f820
mov ecx, edi
push ecx
call fcn.00409a50
add esp, 4
mov dword [eax], ebx
add eax, 4
xor ecx, ecx
test ebx, ebx
sete cl
jmp dword [ecx*4 + 0x4454dc]
lea ecx, [ebx + ebx*2]
lea edi, [eax + ecx*4]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea ecx, [eax + 0xc]
xor edx, edx
cmp ecx, edi
sete dl
jmp dword [edx*4 + 0x4454e4]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, edi
sete dl
jmp dword [edx*4 + 0x4454e4]
mov dword [esi + 0x24], eax
mov eax, dword [0x4454f4]
mov edi, dword [esi + 0x128]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esi + 0x24]
setb al
jmp dword [eax*4 + 0x445484]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret