Function at 0x4094e0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, ecx
push edi
push 0xffffffffffffffff
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], eax
push ecx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 1
push ecx
push esi
mov ecx, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 1
call fcn.004053b0
test eax, eax
js 0x442001
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 8], eax
cmp ecx, 9
jne 0x40958c
test al, al
jne 0x40959f
xor bl, bl
mov byte [ebp - 1], bl
test edx, edx
jne 0x442056
cmp ecx, 9
jne 0x409938
mov edx, dword [esi + 4]
mov edi, dword [ebp - 0x10]
mov eax, dword [edx + edi*4]
cmp word [eax + 8], 0
jne 0x4422cc
cmp dword [eax], 5
jne 0x4422cc
mov eax, dword [edx + edi*4 + 4]
inc edi
cmp word [eax + 8], 0x7f
je 0x4097c0
test bl, bl
jne 0x4095a3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edi, [ecx - 1]
cmp edi, 0xa
ja case.0x409594.5
jmp dword [edi*4 + 0x4099c8]
test eax, eax
je case.0x409594.5
mov bl, 1
jmp 0x40953e
xor ecx, ecx
mov dword [ebp - 0x20], str.fr_FR
xor esi, esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
jmp 0x4095c0
mov ebx, dword [edx + edi*4]
lea edi, [edi + 1]
cmp ecx, esi
je 0x409675
push 0xc
call fcn.00420fe6
mov esi, eax
add esp, 4
test esi, esi
je 0x4099a1
movzx ecx, word [ebx + 8]
mov word [esi + 8], cx
movzx eax, word [esi + 8]
movzx ecx, word [ebx + 0xa]
mov word [esi + 0xa], cx
cmp ax, 0x3f
jle 0x40963d
cmp ax, 0x10
je 0x442109
cmp ax, 0x20
je 0x409998
mov eax, dword [ebx]
mov dword [esi], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
mov dword [eax + ecx*4], esi
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebx + 4]
inc ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [edx + edi*4]
cmp word [eax + 8], 0x7f
je 0x4096cf
mov esi, dword [ebp - 0x14]
jmp 0x4095c0
cmp ax, 0x30
jl 0x4095fc
push 0x10
call fcn.00420fe6
mov edx, eax
add esp, 4
test edx, edx
je 0x409991
mov eax, dword [ebx]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
inc dword [eax]
mov dword [esi], edx
jmp 0x409614
lea eax, [esi + esi]
cmp eax, 8
jae 0x409682
mov eax, 8
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420fe6
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4096c7
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4096c7
shl ecx, 2
push ecx
push eax
push esi
call fcn.00421070
add esp, 0xc
push dword [ebp - 0x1c]
call fcn.0042105c
add esp, 4
mov dword [ebp - 0x1c], esi
jmp 0x4095ce
mov edi, eax
mov eax, dword [ebp - 0x14]
cmp ecx, eax
je 0x442118
push 0xc
call fcn.00420fe6
mov esi, eax
add esp, 4
test esi, esi
je 0x4099b1
movzx ecx, word [edi + 8]
mov word [esi + 8], cx
movzx eax, word [esi + 8]
movzx ecx, word [edi + 0xa]
mov word [esi + 0xa], cx
cmp ax, 0x3f
jle 0x442171
cmp ax, 0x10
je 0x4421b0
cmp ax, 0x20
je 0x4099a8
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0xc]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
inc dword [ebp - 0x18]
push eax
call fcn.0040cca0
xor esi, esi
mov dword [ebp - 0x20], str.fr_FR
cmp dword [ebp - 0x18], esi
jbe 0x40977d
nop
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x409770
movzx eax, word [edi + 8]
cmp ax, 0x3f
jle 0x409798
push edi
call fcn.0042105c
mov eax, dword [ebp - 0x1c]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
cmp esi, dword [ebp - 0x18]
jb 0x409750
push dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0
call fcn.0042105c
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp ax, 0x30
jl 0x409764
mov ebx, dword [edi]
test ebx, ebx
je 0x409764
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0
je 0x4421bf
push ebx
call fcn.0042105c
add esp, 4
jmp 0x409764
mov edi, dword [ebp + 0xc]
xor edx, edx
xor bh, bh
mov byte [ebp + 0xb], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
mov eax, dword [edi]
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 1
lea ecx, [eax - 1]
mov dword [ebp - 8], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
test bl, bl
jne 0x409930
xor eax, eax
mov dword [ebp + 0xc], eax
mov esi, dword [edi]
lea edx, [esi + 1]
mov dword [edi], edx
cmp esi, dword [0x4c82a0]
jg 0x40986a
test esi, esi
jle 0x40986a
shl esi, 4
add esi, dword [0x4c82dc]
je 0x40986a
test bh, bh
jne 0x40986a
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
cmp word [eax + 8], 0
jne 0x409810
mov eax, dword [eax]
cmp eax, 8
jne 0x4098ff
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x4099b8
lea eax, [edx - 1]
mov bh, 1
mov dword [ebp - 0x48], eax
test bl, bl
jne 0x409810
cmp byte [ebp + 0xb], bl
jne 0x409810
mov dword [ebp - 8], eax
jmp 0x409810
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [edi], eax
cmp byte [ebx + 0x165], 0
jne 0x4422b1
push 0x38
call fcn.00420fe6
mov esi, eax
add esp, 4
test esi, esi
je 0x4099be
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [esi + 8], eax
lea eax, [ebp - 0x40]
mov dword [esi + 0xc], ecx
lea ecx, [esi + 0x10]
mov dword [esi], 0
push eax
mov dword [ecx + 8], 0
call fcn.00404e60
lea eax, [ebp - 0x30]
mov dword [esi + 0x28], 0
lea ecx, [esi + 0x20]
push eax
call fcn.00404e60
mov eax, dword [ebx + 0x160]
mov dword [esi + 0x30], eax
mov dword [ebx + 0x160], esi
inc dword [ebx + 0x15c]
lea ecx, [ebp - 0x30]
call fcn.00404dc0
lea ecx, [ebp - 0x40]
call fcn.00404dc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
sub eax, 4
je 0x409955
sub eax, 2
jne 0x409949
cmp dword [ebp + 0xc], eax
jne 0x409810
cmp byte [ebp + 0xb], 1
je 0x4422a0
mov byte [ebp + 0xb], 1
test bl, bl
jne 0x409810
mov dword [ebp - 8], edx
jmp 0x409810
mov dword [ebp - 8], eax
jmp 0x40980b
add ecx, 0xfffffffb
cmp ecx, 0xa
ja 0x409552
jmp 0x442073
dec eax
jne 0x409810
jmp 0x4421d9
mov esi, dword [esi + 8]
mov edx, 1
cmp esi, edx
jbe 0x409810
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0
je 0x409979
inc edx
cmp edx, esi
jb 0x409965
jmp 0x409810
cmp dword [eax], 5
jne 0x40996f
mov eax, dword [ecx + edx*4 + 4]
cmp word [eax + 8], 0x7f
jne 0x40996f
inc dword [ebp + 0xc]
jmp 0x409810
xor edx, edx
jmp 0x409671
fld qword [ebx]
fstp qword [esi]
jmp 0x409614
xor esi, esi
jmp 0x409614
fld qword [edi]
fstp qword [esi]
jmp 0x409726
xor esi, esi
jmp 0x409726
dec eax
jmp 0x40980d
xor esi, esi
jmp 0x4098d1
ja 0x40d8ff
invalid
dec dword [ecx - 0x17c03bb]
add eax, 0x478b0d76
add al, 0x8b
dec eax
adc al, 0xe8
pop ss
ja 0x40d912
invalid
dec dword [ebx + 0x4fe83d8]
jbe 0x40d929
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
call fcn.0040502b
mov dword [ebp - 0x10], eax
inc ebp
invalid
cmp esi, 3
jbe 0x40d93c
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + 0xc]
call fcn.0040502b
mov dword [ebp - 0x14], eax
cmp esi, 2
jbe 0x40d94f
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + 8]
call fcn.0040502b
mov dword [ebp - 8], eax
inc ebp
clc
cmp esi, 1
jbe 0x40d962
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + 4]
call fcn.0040502b
mov dword [ebp - 0xc], eax
mov ecx, dword [edi + 4]
mov esi, dword [ecx]
mov ecx, esi
call fcn.00404d37
push dword [ebp + 8]
mov ecx, dword [esi + 8]
push dword [ebp - 4]
push ebx
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ecx]
call fcn.00402ba9
mov edi, eax
test edi, edi
je 0x445202
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.00404dc0
mov dword [esi], edi
pop edi
mov dword [esi + 0xc], 7
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp + 8], eax
call fcn.00404d37
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0xc]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x1c], eax
inc dword [eax]
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xc], eax
inc dword [eax]
mov eax, dword [ebp + 8]
test al, 2
je 0x40db9e
and eax, 0xfffffffd
lea ecx, [ebp - 0x28]
mov dword [ebp + 8], eax
call fcn.00411cb6
mov eax, dword [ebp + 8]
test al, 1
jne 0x40dbfc
mov edi, dword [ebp - 4]
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.00405376
test eax, eax
je 0x44529b
cmp dword [esi + 8], 2
mov eax, ebx
ja 0x40dc06
mov ecx, dword [esi + 4]
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ecx]
call fcn.0040502b
push eax
call fcn.00402ef7
mov esi, dword [ebp + 0xc]
mov edi, eax
mov ecx, esi
call fcn.00404dc0
xor eax, eax
mov dword [esi], edi
inc eax
mov dword [esi + 0xc], eax
lea ecx, [ebp - 0x18]
call fcn.00411cb6
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebp - 0x38]
call fcn.00411cb6
jmp 0x40dba2
mov eax, dword [esi + 4]
mov ecx, dword [eax + 8]
call fcn.00468cec
jmp 0x40dbc0
push ebx
push edi
call fcn.00402e2b
mov esi, dword [ebp + 0xc]
mov edi, eax
mov ecx, esi
call fcn.00404dc0
mov dword [esi], edi
xor eax, eax
pop edi
mov dword [esi + 0xc], 1
pop esi
pop ebx
pop ebp
ret 8
jmp 0x40dc31
mov ebp, esp
sub esp, 0x68
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [esi + 4]
mov eax, dword [edx]
cmp dword [eax + 0xc], 0xb
je 0x4452d5
push ebx
push edi
push 8
xor ebx, ebx
mov byte [ebp - 1], 1
cmp dword [esi + 8], 1
pop edi
jbe 0x40dcbe
mov eax, dword [edx + 4]
mov dword [ebp - 8], eax
cmp dword [eax + 0xc], 0xa
je 0x445317
mov ecx, eax
mov byte [ebp - 1], bl
call fcn.0040502b
mov edi, eax
cmp edi, 0x10
jg 0x40dd5e
test edi, edi
js 0x40dd66
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp dword [ecx + 0xc], 7
je 0x445330
cmp dword [esi + 8], 1
jbe 0x40dce9
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.00404dc0
mov dword [esi + 0xc], 1
mov dword [esi], ebx
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
push esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 1
call fcn.0040e218
cmp dword [ebp - 0x14], 3
je 0x445345
mov eax, dword [esi + 4]
mov ecx, dword [eax]
call fcn.004050d5
mov esi, edx
mov dword [ebp - 8], eax
cmp byte [ebp - 1], bl
jne 0x445363
lea ecx, [ebp - 0x20]
call fcn.00404dc0
mov eax, dword [ebp - 8]
cmp byte [ebp - 1], bl
jne 0x445380
push esi
push eax
mov edx, edi
lea ecx, [ebp - 0x68]
call fcn.0041fc9b
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x68]
push eax
call fcn.00404f98
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8
push 0x10
pop edi
jmp 0x40dcbe
mov edi, ebx
jmp 0x40dcbe
add byte [edx + 2], ch
pop ebx
call fcn.00404d37
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x2c], eax
inc dword [eax]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
call fcn.00411c9c
test bl, 2
je 0x40de13
lea ecx, [esp + 0x20]
and ebx, 0xfffffffd
call fcn.00411cb6
test bl, 1
jne 0x4453c3
lea eax, [esp + 0x30]
mov ecx, edi
push eax
call fcn.00405376
test eax, eax
je 0x4453d1
mov bh, byte [esp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.00404d37
mov eax, dword [esi + 8]
lea ecx, [esp + 0x20]
push dword [eax]
call fcn.00411a36
lea eax, [esp + 0xf]
push eax
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x19]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00420654
mov bl, al
lea ecx, [esp + 0x20]
neg bl
sbb bl, bl
call fcn.00411cb6
inc bl
jne 0x4453f8
mov edx, dword [esp + 0x14]
mov cl, byte [esp + 0xc]
mov dword [esp + 0x18], edx
cmp edx, 0x13
je 0x445421
cmp byte [esp + 0xd], 0
jne 0x445435
mov eax, dword [esp + 0x10]
test cl, cl
jne 0x445441
cmp byte [esp + 0xe], 0
jne 0x44544d
cmp byte [esp + 0xf], 0
jne 0x445459
mov ecx, dword [edi + 0x1c8]
xor esi, esi
shl edx, 0x10
or edx, eax
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x445465
test bh, bh
jne 0x44540f
xor ebx, ebx
test ecx, ecx
jne 0x4454e4
push 0x28
cmp ebx, ecx
jne 0x445502
call fcn.00420fe6
pop ecx
test eax, eax
je 0x40dfc5
mov ecx, eax
call fcn.00420df1
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [edi + 0x1c0]
call fcn.00401307
mov eax, dword [edi + 0x1c4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax]
mov dword [eax], ebx
mov eax, dword [edi + 0x1c4]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax]
mov dword [eax + 4], ecx
lea eax, [esp + 0x30]
push eax
mov eax, dword [edi + 0x1c4]
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax]
add ecx, 8
call fcn.00411c9c
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.00404d37
mov eax, dword [edi + 0x1c4]
push dword [esi + 8]
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax]
add ecx, 0x18
call fcn.00411c9c
mov eax, dword [edi + 0x1c4]
push dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push ecx
mov eax, dword [eax + ebx*4]
mov eax, dword [eax]
push dword [eax]
push dword [0x4c72ac]
call dword [0x4904dc]
test eax, eax
je 0x445529
lea ecx, [esp + 0x30]
call fcn.00411cb6
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
and dword [esp + 0x14], 0
jmp 0x40df1b
push 0x4a
pop esi
jmp 0x442349
cmp word [edi + esi*2 + 2], 0x2a
jne 0x442105
lea edi, [edi + esi*2]
mov edx, 0x4bc928
add edi, 4
push 6
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x441e89
add esi, 8
jmp 0x441e7e
add esi, 6
or ebx, 0x800
jmp 0x4420ea
push 4
mov edx, 0x4bc930
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
je 0x441e7b
push 4
mov edx, 0x4bc938
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x441ebd
add esi, 6
or ebx, 0x20000000
jmp 0x4420ea
push 0x10
mov edx, 0x4bc940
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x441ede
add esi, 0x12
or ebx, 0x20000
jmp 0x4420ea
push 0xd
mov edx, 0x4bc954
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x441eff
add esi, 0xf
or ebx, 0x4000000
jmp 0x4420ea
push 0xc
mov edx, 0x4bc964
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x441f8b
mov ecx, dword [ebp - 0x10]
lea edi, [esi + 0xe]
mov dword [ebp - 0xc], eax
movzx eax, word [ecx + edi*2]
push eax
call fcn.0041428f
pop ecx
test eax, eax
je 0x441f5d
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
cmp ebx, 0x19999998
ja 0x441f54
imul ecx, ebx, 0xa
movzx ebx, word [esi + edi*2]
add ecx, 0xffffffd0
add ebx, ecx
inc edi
movzx eax, word [esi + edi*2]
push eax
call fcn.0041428f
pop ecx
test eax, eax
jne 0x441f30
mov esi, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
push 0x29
pop ecx
mov ax, word [eax + edi*2]
cmp ax, cx
jne 0x442102
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x24]
jae case.0x409594.2
or dword [ebp - 0x6c], 0x2000
mov dword [ebp - 0x24], eax
jmp case.0x409594.2
push 0x10
mov edx, 0x4bc980
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x442016
mov dword [ebp - 0xc], eax
lea edi, [esi + 0x12]
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + edi*2]
push eax
call fcn.0041428f
pop ecx
test eax, eax
je 0x441fe9
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
cmp ebx, 0x19999998
ja 0x441fe0
imul ecx, ebx, 0xa
movzx ebx, word [esi + edi*2]
add ecx, 0xffffffd0
add ebx, ecx
inc edi
movzx eax, word [esi + edi*2]
push eax
call fcn.0041428f
pop ecx
test eax, eax
jne 0x441fbc
mov esi, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
push 0x29
pop ecx
mov ax, word [eax + edi*2]
cmp ax, cx
jne 0x442102
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x20]
jae case.0x409594.2
loopne 0x442076
or al, byte [ecx + 0x4000944d]
add byte [eax], al
or dword [ebp - 0x6c], 0x4000
mov dword [ebp - 0x20], eax
lea esi, [edi + 1]
jmp 0x4420ed
push 3
mov edx, 0x4bc994
xchg esp, eax
leave
dec ebx
add byte [ebx - 0x2c741731], cl
cld
call [ecx - 0x7b]
invalid
jne case.0x409594.4
xchg esp, eax
leave
dec ebx
add byte [ebx - 0x2c741731], cl
cld
call [ecx - 0x7b]
sal byte [ebp + 0xa], 0x83
mov byte [0x100000b8], 0
add esi, 5
mov eax, 0x100000
jmp 0x4420a5
push 3
mov edx, 0x4bc998
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x442050
add esi, 5
mov eax, 0x200000
jmp 0x4420a5
add eax, 0x200000b8
add bl, ch
push ebp
push 5
mov edx, 0x4bc99c
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x44206d
add byte [ebx - 0x2cae1731], cl
cld
call [ecx - 0x7b]
sal byte [ebp + 0xa], 0x83
mov byte [edi], 0xb8
add byte [eax], al
xor byte [eax], al
add esi, 7
mov eax, 0x300000
jmp 0x4420a5
push 4
mov edx, 0x4bc9a4
mov ecx, edi
add byte [ebx - 0x2ccb1731], cl
cld
call [ecx - 0x7b]
sal byte [ebp + 0xa], 0x83
mov byte [esi], 0xb8
add byte [eax], al
inc eax
add bl, ch
sbb ebp, dword [edx + 8]
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x44208a
add esi, 6
mov eax, 0x400000
jmp 0x4420a5
push 8
mov edx, 0x4bc9ac
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x4420ad
add esi, 0xa
mov eax, 0x500000
and ebx, 0xff8fffff
jmp 0x4420e8
push 0xc
mov edx, 0x4bc9b8
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x4420c7
mov eax, 0x800000
jmp 0x4420df
push 0xc
mov edx, 0x4bc9c8
mov ecx, edi
call fcn.0040f3af
pop ecx
test eax, eax
jne 0x442102
mov eax, 0x1000000
add esi, 0xe
and ebx, 0xfe7fffff
or ebx, eax
mov dword [ebp - 0x14], ebx
mov edi, dword [ebp - 0x10]
push 0x28
pop eax
mov dword [ebp - 4], esi
cmp word [edi + esi*2], ax
je 0x441e51
jmp 0x442105
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
leave
jmp 0x40d8fe
add eax, dword [eax]
mov dword [ebp - 8], eax
pop ecx
test eax, eax
je 0x40d927
jmp 0x441e49
mov al, 0x89
dec ebp
mov ah, 0x66
mov dword [ebp - 0x46], eax
jmp 0x40d94d
push dword [esi + 4]
mov edx, dword [esi - 4]
cld
lea ecx, [ebp - 0xd0]
push dword [esi]
call fcn.0047e8ce
dec edi
lea esi, [esi + 0xc]
pop ecx
pop ecx
test edi, edi
jg 0x4421ab
mov edi, dword [ebp - 0x20]
xor esi, esi
cmp dword [ebp - 0x98], 0x14
jle 0x40db46
invalid
push dword [ebp - 0xa8]
call dword [0x4a6718]
pop ecx
jmp 0x40db46
mov edx, esi
mov ecx, edi
call fcn.0047e725
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
je 0x40dc62
lodsd eax, dword [esi]
mov ecx, 0xff33fffc
xor edi, edi
cmp word [eax + 2], di
jne 0x44230f
movzx edi, word [eax - 2]
xor ecx, ecx
push ecx
movzx esi, word [eax + edi*2 - 4]
mov word [eax + edi*2 - 4], cx
mov dword [eax + edi*2 - 4], ecx
js 0x4422ca
lea ecx, [ebp - 0xd0]
mov edx, dword [ebx + 8]
push ecx
shr edx, 0xb
mov ecx, eax
and edx, 1
push 1
call fcn.0047ed57
mov ecx, eax
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov word [eax + edi*2 - 4], si
test ecx, ecx
js 0x442328
cmp ecx, dword [ebp - 0x88]
jle 0x442306
mov dword [ebp - 0x88], ecx
mov esi, dword [ebp - 4]
xor edi, edi
mov word [eax + 2], cx
push 0xffffffffffffffff
lea ecx, [eax + 4]
mov edx, esi
call fcn.0047e725
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x4422b7
mov esi, dword [ebp - 8]
jmp 0x442362
cmp ecx, 0xfffffffe
jne 0x44235a
push 0x24
jmp 0x442333
push 0x46
pop esi
push ebx
call dword [0x4a6718]
pop ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 0x10]
sub eax, dword [ebp - 0x10]
sar eax, 1
mov dword [ecx], eax
mov ecx, esi
call fcn.0047ed37
leave
add eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40ddcb
cmp ecx, 0xfffffffc
je 0x442331
push 0x19
pop esi
mov edi, dword [ebp - 0x20]
jmp 0x40dc65
inc esp
add byte [eax], al
add cl, ch
sub ah, byte [edx + 0x478dfffc]
lahf
cmp eax, 0x19
ja 0x445216
sub edi, 0x20
xor edi, 0x40
jmp fcn.0040f435
pop ecx
push 0x37
sub edi, ecx
pop edx
inc eax
mov dword [ebp - 8], eax
movzx eax, word [esi + 2]
cmp ax, word [ebp - 4]
jb fcn.0040f435
cmp ax, dx
ja fcn.0040f435
add esi, 2
movzx eax, word [esi]
add eax, 0xffffffd0
lea edi, [eax + edi*8]
mov eax, dword [ebp - 8]
cmp eax, 2
jl 0x4452a1
jmp fcn.0040f435
lea ecx, [esi + 2]
movzx eax, word [ecx]
pop edx
cmp ax, dx
jb 0x4452f7
push 0x39
pop edx
cmp ax, dx
ja 0x4452f7
mov esi, ecx
lea ecx, [esi + 2]
movzx eax, word [ecx]
cmp ax, word [ebp - 4]
jae 0x4452e4
mov eax, dword [ebp + 8]
mov dword [eax], 0x3d
jmp fcn.0040f435
add cl, byte [edi]
mov bh, 8
mov dword [ebp - 0xc], eax
cmp ecx, 0x3c
je 0x44537f
cmp ecx, 0x27
je 0x44537f
push 0x39
pop eax
push 0x7d
pop edx
push 0
pop ebx
cmp cx, word [ebp - 0x18]
jne 0x445396
lea ecx, [esi + 4]
movzx eax, word [ecx]
test ax, ax
je 0x445387
push 0x39
pop ebx
push 0x2d
pop esi
cmp ax, dx
je 0x445368
cmp ax, si
je 0x44535d
cmp ax, word [ebp - 4]
jb 0x445368
cmp ax, bx
ja 0x445368
add ecx, 2
movzx eax, word [ecx]
test ax, ax
jne 0x445348
movzx eax, word [ecx]
mov esi, dword [ebp - 0x10]
push 0
pop ebx
test ax, ax
je 0x445387
cmp ax, dx
je 0x445387
push 0x1c
jmp 0x445381
push 0x1b
sbb ebx, dword [ebx - 0x17]
scasb al, byte es:[edi]
mov al, byte [0x758bfffc]
hlt
pop ebx
jmp fcn.0040f435
mov esi, dword [ebp - 0xc]
push 0x39
mov dword [ebp - 0x10], 1
pop eax
jmp 0x445399
mov dword [ebp - 0x10], ebx
push 0x2d
pop edx
cmp word [esi + 2], dx
jne 0x4453a7
add esi, 2
jmp 0x4453aa
mov dword [ebp - 0x14], ebx
mov ecx, ebx
lea ebx, [esi + 2]
mov dword [ebp - 0xc], ebx
movzx ebx, word [ebx]
cmp bx, word [ebp - 4]
push 0
mov dword [ebp - 8], ebx
pop ebx
push 0x7d
pop edx
jb 0x4453f5
xor dword [esi + 0x39], esp
inc ebp
clc
cmp word [ebp - 8], ax
ja 0x4453f5
cmp ecx, 0xccccccb
jg 0x445411
aas
mov esi, dword [ebp - 0xc]
imul ecx, ecx, 0xa
push 0x39
movzx eax, word [esi]
add eax, 0xffffffd0
add ecx, eax
lea eax, [esi + 2]
mov dword [ebp - 0xc], eax
movzx eax, word [eax]
cmp ax, word [ebp - 4]
mov dword [ebp - 8], eax
clc
pop eax
jae 0x4453c4
cmp dword [ebp - 0x10], 0
je 0x445442
add byte [edi + eax*2 - 0x7d], dh
mov byte [edx], 0x66
cmp dword [esi], edx
add esi, 2
cmp word [esi], dx
je 0x445442
mov eax, dword [ebp + 8]
mov dword [eax], 0x39
jmp fcn.0040f435
cld
dec dword [ebp - 0x48f0fdb2]
add dword [edx + 0x30], ebp
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x30
pop edx
cmp ax, dx
jb 0x4452f7
invalid
push 0x39
pop edx
cmp ax, dx
ja 0x4452f7
mov esi, ecx
lea ecx, [esi + 2]
movzx eax, word [ecx]
mov bh, 1
cmp ax, word [ebp - 4]
jae 0x445426
jmp 0x4452f7
inc dword [ebp - 0x74f18a37]
inc ebp
or bh, al
add byte [edx], bh
add byte [eax], al
add cl, ch
loope 0x4453f1
test ecx, ecx
jne 0x445454
mov eax, dword [ebp + 8]
mov dword [eax], 0x3a
add byte [eax], al
jmp fcn.0040f435
cld
inc dword [ebx + 0x7400ec7d]
cmp dword [ebp - 0x14], 0
je 0x445474
sbb cl, byte [ebx - 0x37c4f3bb]
mov eax, dword [ebp + 0xc]
cmp ecx, eax
jle 0x44546f
mov eax, dword [ebp + 8]
mov dword [eax], 0xf
jmp fcn.0040f435
add byte [edi], cl
add byte [eax], al
add cl, ch
invalid
sub eax, ecx
lea ecx, [eax + 1]
mov ebx, ecx
jmp 0x40f47b
sti
mov dword [ebp - 0x14], 2
pop edx
add esi, 2
movzx ecx, word [esi]
cmp ecx, 0x61
jb 0x4454fb
sub ecx, 0x20
cmp ecx, 0x41
sbb eax, eax
shl edi, 4
and eax, 0xfffffff9
rol cl, 0xe7
add al, 0x83
loopne 0x4454ff
add eax, edx
sub edi, eax
add edi, ecx
dec dword [ebp - 0x14]
jne 0x4454ed
jmp fcn.0040f435
jmp fcn.0040f435