Function at 0x435beb
Capabilities:
Packed with generic packer

Disassembly:
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004538c0
add esp, 0xc
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
mov dword [ebp + 8], ecx
cmp dword [ebp + 0x14], 0
je 0x435bd1
push 0
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00432f18
add esp, 0x10
jmp 0x435bdc
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
push edi
pushal
xor eax, eax
jne 0x435bfb
jmp 0x435c10
jmp 0x435c30
xor eax, eax
jne 0x435c18
jp 0x435c0e
jo 0x435c12
jmp 0x435c13
jb 0x435c17
jns 0x435bfc
call dword [0x74097900]
invalid
jns 0x435c19
je 0x435c02
jmp 0x435b9b
xchg ebx, ebx
jp 0x435c07
mov al, byte [0x458b6133]
xor esp, dword [ecx - 0x75]
inc ebp
popal
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
or byte [ebx - 0x7b276f8], cl
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x435c45
jmp 0x435c66
xor ebx, ebx
je 0x435c49
jmp 0x435c58
mov ecx, 0x34f9c987
nop
stc
je 0x435c5c
jmp 0x435c8c
xor eax, eax
je 0x435c4e
mov eax, 0x4840c987
test eax, eax
jne 0x435c42
jmp 0x92a9f9cb
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jo 0x435c80
jl 0x435c7e
jmp 0x435c82
je 0x435c7b
jmp 0x435c7b
mov eax, dword [ebp - 8]
push eax
call fcn.004538af
add esp, 4
mov dword [ebp - 0x64], eax
les eax, [ecx + ecx*4]
inc ebp
pushfd
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 4], edx
mov eax, 1
test eax, eax
je 0x435ce5
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x38], ecx
push 0
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435aa4
add esp, 0x10
mov dword [ebp + 8], eax
cmp dword [ebp + 8], 0
jne 0x435cd2
xor eax, eax
jmp 0x436177
cmp dword [ebp - 0x38], 0
jne 0x435cda
jmp 0x435ce5
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x38]
mov dword [ebp - 4], edx
jmp 0x435c9d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x18
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x34]
add edx, 0xf8
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x24], ecx
push eax
not eax
bswap eax
pop eax
jae 0x435d26
pushfd
pushal
jmp 0x435d55
sub edx, edx
jo 0x435d3b
jmp 0x435d4c
xor ecx, ecx
je 0x435d33
jmp 0x435d45
stc
xor ecx, 3
je 0x435ccb
jmp 0x435d42
jmp 0x435d50
jae 0x435d3e
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x435d35
jmp 0x435d2f
sbb al, 0xdb
jmp 0x435d58
jmp 0x435d29
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x10], eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
rcr byte [eax - 9], 1
rcr dword [ecx - 0x64], 1
pushal
xor ebx, ebx
je 0x435d8e
jmp 0x435daf
xor ebx, ebx
je 0x435d92
jmp 0x435da1
mov ecx, 0x34f9c987
nop
stc
je 0x435da5
jmp 0x435dd5
xor eax, eax
je 0x435d97
mov eax, 0x4840c987
test eax, eax
jne 0x435d8b
jmp 0x92a9fb14
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
push 4
push 0x1000
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call dword [0x458178]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x435e6e
xchg ebp, eax
add byte [eax], al
add byte [eax + 0x33], ah
sal byte [ebp + 2], 0xeb
adc eax, 0x75c033eb
sbb byte [edx + 0xc], bh
pushal
xor eax, eax
jne 0x435de0
jmp 0x435df5
jmp 0x435e15
xor eax, eax
jne 0x435dfd
jp 0x435df3
jo 0x435df7
jmp 0x435df8
jb 0x435dfc
jns 0x435de1
call dword [0x74097900]
invalid
jns 0x435dfe
je 0x435de7
jmp 0x435d80
xchg ebx, ebx
jp 0x435dec
mov al, byte [0x458b6133]
xor esp, dword [ecx - 0x75]
inc ebp
popal
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x5c], 5
jbe 0x435e6e
fadd dword [ebx + 0x76055c78]
mov cx, word [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x88], 0
je 0x435e6e
push eax
not eax
bswap eax
pop eax
jae 0x435e1c
pushfd
pushal
jmp 0x435e4b
sub edx, edx
jo 0x435e31
jmp 0x435e42
xor ecx, ecx
je 0x435e29
jmp 0x435e3b
stc
xor ecx, 3
je 0x435dc1
jmp 0x435e38
jmp 0x435e46
jae 0x435e34
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x435e2b
jmp 0x435e25
sbb al, 0xdb
jmp 0x435e4e
jmp 0x435e1f
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
push 4
push 0x1000
mov edx, dword [ebp - 0x10]
push edx
push 0
call dword [0x458178]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
loopne 0x435e72
jne 0x435e85
mov dword [0x45e32c], 2
xor eax, eax
jmp 0x436177
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x3c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.004538c0
add esp, 0xc
jo 0x435ea5
jl 0x435ea3
jmp 0x435ea7
je 0x435ea0
jmp 0x435ea0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x2c]
xor eax, eax
mov ax, word [edx + 2]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x14]
jae 0x435f1d
pushal
xor eax, eax
jne 0x435ed0
jmp 0x435ee5
jmp 0x435f05
xor eax, eax
jne 0x435eed
jp 0x435ee3
or al, 0x70
push cs
jo 0x435ee7
jmp 0x435ee8
jb 0x435eec
jns 0x435ed1
call dword [0x74097900]
invalid
jns 0x435eee
je 0x435ed7
jmp 0x435e70
xchg ebx, ebx
jp 0x435edc
mov al, byte [0x458b6133]
xor esp, dword [ecx - 0x75]
inc ebp
popal
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
add eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x20]
add edx, dword [ecx + 0xc]
push edx
hlt
loopne 0x435f0a
push ecx
or al, 0x52
call fcn.004538c0
add esp, 0xc
mov eax, dword [ebp - 0xc]
add eax, 0x28
mov dword [ebp - 0xc], eax
jmp 0x435ec1
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x24]
je 0x436012
push eax
not eax
bswap eax
pop eax
jae 0x435f31
pushfd
pushal
jmp 0x435f60
sub edx, edx
jo 0x435f46
jmp 0x435f57
xor ecx, ecx
je 0x435f3e
jmp 0x435f50
stc
xor ecx, 3
je 0x435ed6
jmp 0x435f4d
jmp 0x435f5b
jae 0x435f49
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x435f40
jmp 0x435f3a
sbb al, 0xdb
jmp 0x435f63
jmp 0x435f34
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add eax, dword [edx + 0x88]
mov dword [ebp - 0x40], eax
jo 0x435f85
jl 0x435f83
jmp 0x435f87
je 0x435f80
jmp 0x435f80
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x8c]
mov dword [ebp - 0x3c], edx
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x435fb6
jmp 0x435fd7
xor ebx, ebx
je 0x435fba
jmp 0x435fc9
mov ecx, 0x34f9c987
nop
stc
je 0x435fcd
jmp 0x435ffd
xor eax, eax
je 0x435fbf
mov eax, 0x4840c987
test eax, eax
jne 0x435fb3
jmp 0x92a9fd3c
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.0043617e
add esp, 0x10
and eax, 0xff
test eax, eax
jne 0x436007
sal byte [ebp + 7], 0x33
shr cl, 0x70
add dword [eax], eax
add byte [eax + 7], dh
xor eax, eax
jmp 0x436177
jo 0x436010
jl 0x43600e
jmp 0x436012
je 0x43600b
jmp 0x43600b
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x68]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.004362fa
add esp, 8
and eax, 0xff
test eax, eax
jne 0x436035
xor eax, eax
jmp 0x436177
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x14]
jae 0x43614a
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x50], ecx
mov byte [ebp - 0x58], 0
mov byte [ebp - 0x54], 0
mov byte [ebp - 0x4c], 0
mov edx, dword [ebp - 0x50]
and edx, 0x20000020
test edx, edx
je 0x43606d
mov byte [ebp - 0x4c], 1
mov eax, dword [ebp - 0x50]
and eax, 0x40000000
test eax, eax
je 0x43607d
mov byte [ebp - 0x58], 1
mov ecx, dword [ebp - 0x50]
and ecx, 0x80000000
test ecx, ecx
je 0x43608e
mov byte [ebp - 0x54], 1
mov dword [ebp - 0x44], 1
mov edx, dword [ebp - 0x4c]
and edx, 0xff
test edx, edx
je 0x4360d6
mov eax, dword [ebp - 0x54]
and eax, 0xff
test eax, eax
je 0x4360b7
mov dword [ebp - 0x44], 0x40
jmp 0x4360d4
mov ecx, dword [ebp - 0x58]
and ecx, 0xff
test ecx, ecx
je 0x4360cd
mov dword [ebp - 0x44], 0x20
jmp 0x4360d4
mov dword [ebp - 0x44], 0x10
jmp 0x4360ff
mov edx, dword [ebp - 0x58]
and edx, 0xff
test edx, edx
je 0x4360ff
mov eax, dword [ebp - 0x54]
and eax, 0xff
test eax, eax
je 0x4360f8
mov dword [ebp - 0x44], 4
jmp 0x4360ff
mov dword [ebp - 0x44], 2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x20]
add edx, dword [ecx + 0xc]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x48], ecx
lea edx, [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x60]
push edx
call dword [0x45817c]
test eax, eax
jne 0x43613c
mov dword [0x45e32c], 4
xor eax, eax
jmp 0x436177
mov eax, dword [ebp - 0xc]
add eax, 0x28
mov dword [ebp - 0xc], eax
jmp 0x43603b
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add edx, dword [ecx + 0x10]
mov dword [0x45e324], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.004538a4
add esp, 4
mov edx, dword [ebp - 0x20]
mov dword [0x45e320], edx
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret