Function at 0x403112
Capabilities:
Packed with generic packer

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x234
mov eax, dword [0x4261d4]
xor eax, esp
mov dword [esp + 0x230], eax
mov ecx, dword [ecx + 0x38]
push ebx
push esi
xor ebx, ebx
mov dword [esp + 0x10], edx
push edi
mov dword [esp + 0x20], ebx
xor esi, esi
call fcn.0040220d
mov edi, eax
test edi, edi
je 0x40316d
mov esi, edi
lea ecx, [esi + 2]
mov edi, edi
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x403152
sub esi, ecx
sar esi, 1
cmp esi, 0x104
jae 0x415132
cmp byte [0x426004], bl
je 0x403196
test edi, edi
je 0x419934
push 4
push 0x4035a0
push edi
call dword [0x4420cc]
add esp, 0xc
test eax, eax
je 0x419934
push 0x208
lea eax, [esp + 0x34]
push 0
push eax
call fcn.00402233
add esp, 0xc
lea ecx, [esp + 0x30]
mov edx, 0x104
push edi
call fcn.00401da3
lea ecx, [esp + 0x30]
mov ebx, 0x5c
mov edx, 0x2f
call fcn.004024b1
test eax, eax
jne 0x410d25
lea edx, [esp + 0x28]
mov dword [esp + 0x28], 0x3a005c
lea ecx, [esp + 0x30]
mov word [esp + 0x2c], ax
call fcn.00402ef8
cmp eax, esi
jae 0x40677a
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x18], eax
mov word [esp + 0x2a], cx
test eax, eax
je 0x406781
mov edx, ebx
lea ecx, [esp + 0x30]
call fcn.00402580
mov esi, eax
test esi, esi
je 0x4158bd
add esi, 2
cmp word [esi], 0
je 0x4158d2
mov ecx, 0x402c60
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
je 0x416a1b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4158d2
mov ecx, 0x402c64
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
je fcn.00416a44
sbb eax, eax
or eax, 1
test eax, eax
je 0x4158d2
mov ecx, 0x410
call fcn.00401e20
mov edi, eax
test edi, edi
je 0x419957
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x30]
mov edx, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.00401da3
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x30]
mov eax, esi
sub eax, ecx
xor ecx, ecx
sar eax, 1
push 0x402c60
mov word [ebx + eax*2], cx
mov ecx, ebx
call fcn.00402c8a
push ebx
mov edx, 0x208
mov ecx, edi
call fcn.00402d3f
test eax, eax
jne 0x41996b
mov ecx, edi
call fcn.00402c6f
cmp word [eax], 0x5c
je 0x4032e9
push 0x402df0
mov edx, 0x208
mov ecx, edi
call fcn.00402c8a
push esi
mov edx, 0x208
mov ecx, edi
call fcn.00402c8a
mov edx, edi
lea ecx, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4032fc
sub edx, ecx
mov ecx, edi
sar edx, 1
lea edx, [edx*2 + 2]
call fcn.0040233f
mov ebx, eax
test ebx, ebx
je 0x419957
mov edx, 0x5c
mov ecx, ebx
call fcn.00402580
xor ecx, ecx
mov word [eax], cx
add eax, 2
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], ecx
je 0x40678a
xor esi, esi
push dword [esp + 0x14]
call dword [0x442280]
mov dword [esp + 0x10], eax
test eax, eax
je 0x40b37a
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403362
sub ecx, edx
sar ecx, 1
lea edi, [ecx + 2]
add edi, 2
test esi, esi
jne 0x4067cc
lea ecx, [edi + edi]
call fcn.00401e20
mov esi, eax
test esi, esi
je 0x419957
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4033c3
push 0x403018
mov edx, edi
mov ecx, esi
call fcn.00402c8a
push ebx
mov edx, edi
mov ecx, esi
call fcn.00402c8a
push 0x403018
mov edx, edi
mov ecx, esi
call fcn.00402c8a
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x18], 0
je 0x40679f
mov ecx, esi
call fcn.004030cd
push 1
mov edx, 0x4035ac
mov ecx, esi
call fcn.00402014
mov edx, dword [esp + 0x1c]
mov edi, eax
mov dword [esp + 0x10], edi
lea esi, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x4033f0
sub edx, esi
sar edx, 1
lea eax, [edx + 1]
mov dword [esp + 0x24], eax
cmp byte [0x426004], cl
je 0x416a7f
mov ecx, 0x402e44
call fcn.00401e96
mov esi, eax
test esi, esi
je 0x416a7f
mov ecx, esi
call fcn.004030cd
push 1
mov edx, 0x4035ac
mov ecx, esi
call fcn.00402014
mov dword [esp + 0x20], eax
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x403444
sub esi, ecx
mov ecx, edi
sar esi, 1
call fcn.0040220d
push eax
lea edx, [esi + 1]
mov ecx, edi
call fcn.00401da3
mov edx, edi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x40346a
sub edx, ecx
mov ecx, edi
sar edx, 1
call fcn.00402c6f
cmp word [eax], 0x5c
je 0x4087b0
inc esi
mov edi, 1
inc edx
mov eax, dword [esp + 0x10]
cmp word [eax], 0
je 0x405b44
mov ebx, dword [esp + 0x24]
add ebx, edx
cmp ebx, 0x104
ja 0x41999a
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push eax
call fcn.00401da3
test edi, edi
je 0x4087b7
mov eax, dword [esp + 0x10]
lea eax, [eax + esi*2]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], eax
test edi, edi
je 0x4034e8
mov edx, dword [ebp + 8]
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.00402c8a
mov edi, dword [esp + 0x1c]
mov ecx, esi
mov edx, dword [ebp + 8]
push edi
call fcn.00402c8a
mov ecx, esi
call fcn.0040220d
mov edx, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.00401da3
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x40350c
mov eax, dword [esp + 0x14]
sub esi, ecx
sar esi, 1
cmp word [eax + 2], 0x3a
jne 0x40353e
mov cx, word [eax]
call fcn.00402df9
mov edi, dword [esp + 0x10]
test eax, eax
je 0x40343f
mov edi, dword [esp + 0x1c]
mov edx, 0x2e
mov ecx, edi
call fcn.00402580
test eax, eax
jne 0x4037ad
mov edx, 0x2a
mov ecx, edi
call fcn.004024b1
test eax, eax
jne 0x405b4f
lea edx, [eax + 0x3f]
mov ecx, edi
call fcn.004024b1
test eax, eax
jne 0x405b4f
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
push eax
push 0x406848
push esi
call fcn.00406853
test eax, eax
jne 0x403629
mov edi, dword [esp + 0x10]
jmp 0x40343f
mov eax, dword [esp + 0x20]
cmp word [eax], 0
je 0x403597
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40363c
sub ecx, edx
sar ecx, 1
lea eax, [ebx + ecx]
cmp eax, 0x104
ja 0x406893
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push 1
push edi
push esi
call fcn.00406853
test eax, eax
je 0x406885
push 0x4036bc
push edi
call dword [0x442094]
add esp, 8
test eax, eax
je 0x403810
push 0x4035b0
push edi
call dword [0x442094]
add esp, 8
test eax, eax
je 0x403810
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.00401200
mov esp, ebp
pop ebp
ret 4
cmp word [eax + 2], 0
je 0x403552
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push 1
call fcn.00403021
test eax, eax
je 0x405b75
mov ecx, dword [esp + 0x14]
mov edx, 0x2e
call fcn.00402580
mov edi, eax
test edi, edi
je 0x40b381
push 0x4035b0
push edi
call dword [0x442094]
add esp, 8
test eax, eax
je 0x403810
push 0x4036bc
push edi
call dword [0x442094]
add esp, 8
test eax, eax
jne 0x40369f
mov eax, 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.00401200
mov esp, ebp
pop ebp
ret 4
cmp dword [esp + 0x18], 0
jne 0x40b34c
mov dword [0x4260a4], 0x2331
mov ecx, dword [esp + 0x23c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00401200
mov esp, ebp
pop ebp
ret 4
cmp dword [esp + 0x18], 0
jne 0x40b367
mov eax, dword [0x4260a4]
cmp eax, 2
je 0x403552
mov edi, dword [esp + 0x10]
test eax, eax
jne 0x40343f
jmp 0x416a76
xor eax, eax
jmp 0x4031fb
lea esi, [esp + 0x30]
jmp 0x403226
mov ecx, 0x4047f0
call fcn.00401e96
mov esi, eax
mov dword [esp + 0x20], esi
jmp 0x403347
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x4033ce
test eax, eax
je 0x4067bd
push 0x4035ac
mov edx, edi
mov ecx, esi
call fcn.00402c8a
push ebx
mov edx, edi
mov ecx, esi
call fcn.00402c8a
jmp 0x4033ce
mov ecx, esi
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4067d3
sub ecx, edx
sar ecx, 1
add edi, ecx
jmp 0x40337f
mov eax, dword [0x4260a4]
cmp eax, 2
jne 0x4199af
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x406893
cmp word [edi], ax
jne 0x403637
jmp 0x416a6d
xor edi, edi
jmp 0x403491
inc esi
jmp 0x4034c6
movzx eax, byte [esp + 0x18]
push eax
movzx eax, byte [esp + 0x18]
push eax
mov eax, esi
call fcn.0040778c
mov eax, 0x7e23a8
mov ebx, 0x14
add byte [eax], al
call 0x464304
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea ecx, [esi + 0x170]
mov eax, ecx
invalid
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e23bc
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 9
call 0x46421c
call 0x463db0
mov eax, 0x7e23d0
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x120]
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e23d8
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 0xa
call 0x46421c
call 0x463db0
mov eax, 0x7e23ec
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x134]
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e23f4
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 6
call 0x46421c
call 0x463db0
mov eax, 0x7e2408
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x148]
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e2410
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 0xb
call 0x46421c
call 0x463db0
mov eax, 0x7e2424
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x15c]
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e242c
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 0xc
call 0x46421c
call 0x463db0
mov eax, 0x7e2440
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x184]
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e2448
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 4
call 0x46421c
call 0x463db0
mov eax, 0x7e245c
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x198]
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e2464
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 5
call 0x46421c
call 0x463db0
mov eax, 0x7e2478
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x1ad]
mov ebx, 0x14
call 0x464330
mov eax, ecx
call 0x46436c
mov eax, 0x7e2480
mov ebx, 0x12
call 0x464304
call 0x463db0
mov eax, 0xd
call 0x46421c
call 0x463db0
mov eax, 0x7e2494
mov ebx, 7
call 0x464304
call 0x463db0
mov eax, esi
mov ebx, dword [esi]
mov eax, dword [esp + 0xc]
call dword [ebx + 0x2c]
lea eax, [esi + 0x1c1]
mov ebx, 0x14
call 0x464330
pop esi
pop ecx
pop ebx
add esp, 4
ret 8
wait
jb 0x410d29
add al, ch
sahf
sub al, 5
add byte [ebx + 0x77400f8], al
call 0x4639cc
cmp eax, 0
je 0x410d3a
mov byte [ecx + 0x139], 1
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
call 0x464304
mov eax, 0x7e48d4
mov ebx, 4
call 0x464304
mov eax, 0x7e48d8
mov ebx, 4
call 0x464304
mov eax, dword [ecx + 0x20]
call 0x427fc4
call 0x4639cc
cmp eax, 0
je 0x410d7e
mov byte [ecx + 0x139], 1
mov byte [ecx + 0x114a], 0
lea edi, [ecx + 0x14a]
mov eax, edi
mov ebx, 0x800
mov ecx, 0x7e48dc
mov edx, 0
call 0x45fe64
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
call 0x464304
mov eax, 0x7e48dc
mov ebx, 9
call 0x464304
mov eax, 0x7e48e8
mov ebx, 4
call 0x464304
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0x20]
call 0x427fc4
lea ecx, [ebx + 0x94a]
mov dword [esp + 0x20], ecx
mov eax, ecx
mov ebx, 0x800
call 0x463fb0
mov eax, ecx
mov ebx, 0x800
mov ecx, 0
mov edx, 0
call 0x459bc4
cmp eax, 0
je 0x410f7f
mov ecx, dword [esp + 0x20]
mov eax, ecx
mov ebx, 0x800
call 0x464304
call 0x463df0
mov eax, 0x7e48ec
mov ebx, 9
call 0x464304
call 0x463c68
cmp eax, 0
jne 0x410e4f
mov eax, ecx
mov ebx, 0x800
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
call 0x45fe64
mov ecx, dword [esp + 0x20]
mov eax, ecx
mov ebx, 0x800
call 0x464304
call 0x463df0
call 0x4639cc
cmp eax, 0
je 0x410f7f
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
call 0x464304
mov eax, 0x7e48f8
mov ebx, 9
call 0x464304
mov eax, 0x7e4904
mov ebx, 4
call 0x464304
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x20]
call 0x427fc4
mov eax, esi
mov ebx, 0x801
call 0x464330
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
call 0x464304
mov eax, 0x7e4908
mov ebx, 0xb
call 0x464304
mov eax, 0x7e4914
mov ebx, 4
call 0x464304
mov eax, dword [edx + 0x20]
call 0x427fc4
mov eax, edi
mov ebx, 0x800
call 0x463fb0
mov eax, edi
mov ebx, 0x800
call 0x464304
call 0x463df0
call 0x4639cc
cmp eax, 0
je 0x410f54
mov eax, edi
mov ebx, 0x800
call 0x464304
call 0x463df0
mov eax, 0x7e4918
mov ebx, 9
call 0x464304
call 0x463d54
mov eax, 0x7e4924
mov ebx, 1
call 0x464304
call 0x463db0
mov eax, edi
mov ebx, 0x800
call 0x463fb0
mov eax, esi
call 0x46436c
mov eax, ecx
mov ebx, 0x800
call 0x464304
call 0x463db0
mov eax, ecx
mov ebx, 0x800
call 0x463fb0
mov byte [edx + 0x114a], 1
mov eax, esi
call 0x6a2fdc
lea eax, [esp + 0x30]
call 0x451c14
lea eax, [esp + 0x28]
call 0x451c14
popal
add esp, 0x18
ret
movsx eax, word [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov ebx, eax
inc ebx
movsx edx, cx
mov dword [ebp - 0x12], edx
add ebx, edx
dec ebx
mov edx, dword [ebp - 0x28]
cmp byte [edx + ebx + 0xd], 0x21
jne 0x41521f
or eax, 0xe5850f21
add byte [eax], al
add byte [ebx - 0x3f7c1bbb], cl
add al, byte [ebx]
inc ebp
out dx, al
mov eax, dword [ebp - 0x1c]
add eax, 2
add eax, dword [ebp - 0x12]
dec eax
cmp byte [edx + eax + 0xd], 0xf9
jne 0x415159
mov cx, word [ebp - 0x2a]
add cx, 8
mov word [ebp - 0x2a], cx
jmp 0x415119
cmp byte [edx + eax + 0xd], 0xfe
jne 0x415197
mov cx, word [ebp - 0x2a]
add cx, 2
mov word [ebp - 0x2a], cx
mov byte [ebp - 0xa], 1
cmp byte [ebp - 0xa], 0
je 0x415119
mov ebx, dword [ebp - 0x1c]
movsx eax, cx
add ebx, eax
inc ebx
dec ebx
mov al, byte [edx + ebx + 0xd]
mov byte [ebp - 0xa], al
movzx ax, byte [ebp - 0xa]
inc ax
add cx, ax
mov word [ebp - 0x2a], cx
jmp 0x415170
cmp byte [edx + eax + 0xd], 1
jne 0x4151d9
mov cx, word [ebp - 0x2a]
add cx, 0xf
mov word [ebp - 0x2a], cx
mov byte [ebp - 0xa], 1
cmp byte [ebp - 0xa], 0
je 0x415119
mov ebx, dword [ebp - 0x1c]
movsx eax, cx
add ebx, eax
inc ebx
dec ebx
mov al, byte [edx + ebx + 0xd]
mov byte [ebp - 0xa], al
movzx ax, byte [ebp - 0xa]
inc ax
add cx, ax
mov word [ebp - 0x2a], cx
jmp 0x4151ae
cmp byte [edx + eax + 0xd], 0xff
jne 0x415119
mov cx, word [ebp - 0x2a]
add cx, 0xe
mov word [ebp - 0x2a], cx
mov byte [ebp - 0xa], 1
cmp byte [ebp - 0xa], 0
je 0x415119
mov ebx, dword [ebp - 0x1c]
movsx eax, cx
add ebx, eax
inc ebx
dec ebx
mov al, byte [edx + ebx + 0xd]
mov byte [ebp - 0xa], al
movzx ax, byte [ebp - 0xa]
inc ax
add cx, ax
mov word [ebp - 0x2a], cx
jmp 0x4151f4
mov ebx, dword [ebp - 0x12]
add ebx, eax
mov eax, ebx
inc eax
dec eax
cmp byte [edx + eax + 0xd], 0x2c
jne 0x415428
add ebx, 0xa
dec ebx
mov dword [ebp - 0x20], ebx
lea eax, [edx + ebx + 0xd]
mov ebx, 1
call 0x464304
call 0x4632ac
call 0x460270
movzx eax, al
and eax, 0x80
cmp eax, 0
je 0x4152f0
mov eax, dword [ebp - 0x20]
lea eax, [edx + eax + 0xd]
mov ebx, 1
call 0x464304
call 0x4632ac
call 0x46024c
shl eax, 5
movzx eax, al
shr eax, 5
mov bl, al
mov eax, dword [esi]
movzx ebx, bl
mov dword [eax + 0x213], ebx
mov eax, 2
call 0x4600e0
mov eax, ebx
inc eax
call 0x46032c
mov eax, 3
call 0x4600e0
call 0x4603f0
movsx ebx, cx
mov eax, ebx
movsx ecx, word [ebp - 0x14]
mov dword [ebp - 0x24], ecx
add eax, ecx
add eax, 0xb
call 0x4600e0
call 0x460548
call 0x460270
mov ecx, dword [esi]
mov dword [ebp - 0xe], ecx
mov ecx, dword [ebp - 0x24]
add ecx, 0xe
add ecx, ebx
add ecx, 0xb
mov ebx, dword [ebp - 0xe]
mov dword [ebx + 0x217], ecx
jmp 0x415307
mov ax, word [ebp - 0x14]
add ax, 0xb
add ax, cx
mov ebx, dword [esi]
mov dword [ebx + 0x217], 0xe
movsx ebx, ax
dec ebx
cmp byte [edx + ebx + 0xd], 8
jne 0x415428
mov ebx, dword [esi]
mov byte [ebx + 0x221], 2
mov ebx, dword [esi]
movzx ecx, word [edx + 6]
mov dword [ebx + 0x20b], ecx
mov ebx, dword [esi]
movzx ecx, word [edx + 8]
mov dword [ebx + 0x20f], ecx
mov ebx, dword [esi]
movsx eax, ax
add eax, 0xd
mov dword [ebx + 0x21b], eax
jmp 0x415428
lodsb al, byte [esi]
add al, 0
test al, 4
add byte [eax + 8], bh
rol dword [eax + eax], cl
pop esp
and al, 0x40
mov dh, 0x44
and al, 0x58
add byte [eax], al
or eax, dword [eax]
add byte [eax], al
inc esp