Function at 0x43bee0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
xchg ebp, ebp
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
xchg esp, esp
mov ebp, esp
sub esp, 0x68
push esi
mov esi, ecx
mov dword [esp - 0x18], 0x56126f06
mov dword [ebp - 0x10], 0x48c4acd
add dword [ebp - 0x10], 0xe41f597
xor dword [ebp - 0x10], 0x5a88c51b
xchg ecx, ecx
add dword [ebp - 0x10], 0x3bf443f
xor dword [ebp - 0x10], 0x272abd46
xor dword [ebp - 0x10], 0x6b2f74f8
mov edi, edi
push edi
xor edi, edi
mov dword [ebp - 0xc], esi
mov dword [esp - 0x44], 0x2aa87a41
mov dword [ebp - 0x14], edi
test dword [esi + 0x20], 0x4000
jne 0x43c376
mov dword [esp - 0x44], edx
nop
mov dword [esp - 4], 0x3e88d3e6
sub dword [esp - 4], 0x66518ae
mov dword [esp - 0x3c], 0x728a2ab
add dword [esp - 4], 0x422e2ff4
sub dword [esp - 4], 0x5fec3863
xor dword [esp - 4], 0x1a65b2d1
xchg ecx, ecx
sub esp, 4
call fcn.0048b6d0
mov ecx, eax
mov esp, esp
add esp, 4
lea eax, [esi + 0x44]
mov dword [ebp - 8], eax
mov edx, edx
test ecx, ecx
je 0x43bff0
mov eax, dword [eax]
mov ecx, ecx
nop
sub esp, 4
mov dword [esp], 0x55c1cbc4
mov dword [esp - 0x34], 0x141d4650
sub dword [esp], 0x1a155f8e
sub dword [esp], 0x62f5a3
sub dword [esp], 0x69edf31
mov esi, esi
xor dword [esp], 0x34aa9763
add eax, 0x1c
push eax
mov dword [esp - 0x14], 0x4db15d9e
call fcn.004835c0
mov edi, eax
jmp 0x43bffd
xor edi, edi
mov dword [ebp - 8], eax
mov dword [esp - 0x20], 0x68b5721a
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.00483a10
mov esp, esp
test al, al
je 0x43c30b
call fcn.0048c8f0
xchg esp, esp
movzx esi, ax
shl esi, 0x10
call fcn.0048c8f0
xchg ebx, ebx
movzx eax, ax
mov ecx, edi
or eax, esi
mov dword [esp - 0x24], ebp
push eax
nop
mov dword [esp - 4], 0xf696fdd
mov ebx, ebx
add dword [esp - 4], 0x489e38de
add dword [esp - 4], 0x113efc60
xor dword [esp - 4], 0x660325d4
add dword [esp - 4], 0x10ba2e98
mov dword [esp - 0x14], 0x3af08aae
add dword [esp - 4], 0x4f5dfc4d
xor dword [esp - 4], 0xa98a3c5d
sub esp, 4
mov edx, edx
sub esp, 4
mov dword [esp], 0x5d1ae56e
xor dword [esp], 0x10f3754d
mov ebp, ebp
sub dword [esp], 0x1e3623a2
sub dword [esp], 0x14c6916d
sub dword [esp], 0xbc755f3
xchg ecx, ecx
add dword [esp], 0x40ae9284
call fcn.00484460
mov esi, dword [ebp - 0xc]
mov dword [esp - 0x44], edi
mov ecx, esi
nop
mov dword [esp - 4], 0x57417275
mov dword [esp - 0x10], 0x5923ce30
xor dword [esp - 4], 0x7ff9f41
sub dword [esp - 4], 0x9df346d
sub dword [esp - 4], 0x30fc795f
xchg esp, esp
sub dword [esp - 4], 0x15e33f68
sub esp, 4
mov dword [ebp - 0x10], eax
call fcn.0043b970
mov esi, esi
push eax
sub esp, 4
mov dword [esp], 0x25cd9d16
xor dword [esp], 0x1369910a
mov dword [esp - 0x2c], edx
sub dword [esp], 0x17522da5
xor dword [esp], 0x6c15f8f6
xor dword [esp], 0x3c903124
mov ecx, edi
mov dword [esp - 0x38], esp
call fcn.004844e0
mov dword [ebp - 0x18], eax
test eax, eax
je 0x43c376
mov dword [esp - 0x1c], 0x4ef69e4f
nop
sub esp, 4
mov dword [esp], 0x2a4b38c4
add dword [esp], 0x331e047b
mov dword [esp - 0x40], 0x437da2e2
sub dword [esp], 0x5d255283
xor dword [esp], 0x1596e4fa
sub dword [esp], 0x15d50e47
xchg ecx, ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00405a80
mov esp, esp
push dword [ebx + 8]
push dword [ebp - 0x10]
push dword [eax]
xchg ebx, ebx
mov eax, dword [ebp - 8]
nop
sub esp, 4
xchg edx, edx
mov dword [esp], 0x1a936bff
sub dword [esp], 0x8a39bd4
add dword [esp], 0xebc9dc2
sub dword [esp], 0x1675bb74
mov dword [esp - 0x34], edi
xor dword [esp], 0xa36b225
mov eax, dword [eax]
add eax, 0x14
push eax
mov dword [esp - 0x24], esp
lea eax, [ebp - 0x38]
push eax
call fcn.00481260
add esp, 0xc
mov dword [esp - 0x1c], esp
push eax
lea eax, [ebp - 0x40]
push eax
mov edx, edx
call fcn.00481010
add esp, 0xc
mov ecx, esi
push eax
mov dword [esp - 0x24], 0x4426dd1d
call fcn.0043cd90
cmp dword [ebp - 0x3c], 2
mov byte [ebp - 1], al
mov dword [esp - 0x30], 0x504607e5
jbe 0x43c20e
push dword [ebp - 0x40]
call fcn.0048b6f0
add esp, 4
mov edi, edi
cmp dword [ebp - 0x34], 2
jbe 0x43c227
push dword [ebp - 0x38]
call fcn.0048b6f0
mov dword [esp - 0x2c], 0x3328cf20
add esp, 4
cmp byte [ebp - 0x2c], 0
je 0x43c248
mov dword [esp - 0xc], 0x6489f093
push dword [ebp - 0x30]
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0x34], 0x7e5b7199
cmp byte [ebp - 1], 0
je 0x43c2f6
test edi, edi
mov dword [esp - 0x38], 0x2bfa923
je 0x43c2c2
mov ecx, edi
call fcn.00483810
mov dword [esp - 0x34], esi
nop
mov dword [esp - 4], 0x6520cc9
add dword [esp - 4], 0x1e30e56b
xor dword [esp - 4], 0xfa7b844
mov dword [esp - 0x24], edx
add dword [esp - 4], 0x77d4ef7
xor dword [esp - 4], 0x5f47564d
sub dword [esp - 4], 0x6190ac21
xor dword [esp - 4], 0xc552311
mov dword [esp - 0x2c], 0x5456dbb9
sub esp, 4
push edi
call fcn.0048b700
mov dword [esp - 0x28], 0x9f47be1
add esp, 8
push dword [ebp - 0x18]
call fcn.0048b6f0
mov dword [esp - 0x30], ebp
add esp, 4
mov al, 0x4f
sub al, 3
xchg esp, esp
xor al, 0x4a
add al, 3
add al, 9
sub al, 9
xchg ecx, ecx
sub al, 8
pop edi
pop esi
mov esp, ebp
mov dword [esp - 0x1c], 0x2377d509
pop ebp
mov esp, ebx
pop ebx
ret 4
push dword [ebp - 0x18]
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0x3c], 0x5f5b497d
jmp 0x43c376
test edi, edi
je 0x43c36f
mov ecx, edi
mov dword [esp - 0x18], 0x3ba789c4
call fcn.00483810
nop
mov dword [esp - 4], 0x129de0f3
add dword [esp - 4], 0xe82de43
mov dword [esp - 0x3c], 0x5e2fd402
add dword [esp - 4], 0x32d57e31
xor dword [esp - 4], 0x37876c5b
add dword [esp - 4], 0xd94b462
mov dword [esp - 0x20], 0x39c645f5
xor dword [esp - 4], 0x72060586
sub esp, 4
push edi
mov dword [esp - 0x1c], esp
call fcn.0048b700
add esp, 8
xor edi, edi
mov dword [ebp - 0x14], edi
xchg ecx, ecx
push dword [ebx + 8]
mov ecx, esi
call fcn.0043d2a0
test al, al
mov ecx, ecx
je 0x43cd17
test edi, edi
je 0x43ccf8
mov dword [ebp - 8], 0x3a4948ba
mov dword [esp - 0x40], esi
sub dword [ebp - 8], 0x275eb4f2
add dword [ebp - 8], 0x5eee4a2
add dword [ebp - 8], 0x472eb23e
xor dword [ebp - 8], 0x54364020
mov ebp, ebp
xor dword [ebp - 8], 0x29292ce6
mov eax, dword [ebp - 8]
nop
mov dword [esp - 4], 0x14893beb
xchg ebp, ebp
add dword [esp - 4], 0x44db932e
sub dword [esp - 4], 0x163b4ad1
add dword [esp - 4], 0x4a5a893
add dword [esp - 4], 0xe07f72e
xchg ebx, ebx
xor dword [esp - 4], 0x55d72401
sub esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], 0x27237655
mov dword [esp - 0x10], 0x4e120e2e
sub dword [ebp - 0x24], 0x10d10ec3
xor dword [ebp - 0x24], 0x5dbf65d9
add dword [ebp - 0x24], 0x32e96740
mov dword [esp - 0x24], 0x1709996b
xor dword [ebp - 0x24], 0x7ed6698f
call fcn.0048b720
xor edx, edx
mov dword [ebp - 0x28], eax
xchg ecx, ecx
add esp, 4
cmp dword [ebp - 0x24], edx
jbe 0x43c46b
mov dword [esp - 0x40], 0x6b8a39ee
jmp 0x43c457
movsx cx, byte [ebp + edx - 0x18]
mov word [eax + edx*2], cx
mov ebp, ebp
inc edx
cmp edx, dword [ebp - 0x24]
jb 0x43c457
xchg ebx, ebx
lea eax, [ebp - 0x28]
mov ecx, 0x4bb5a0
push eax
mov dword [esp - 0x28], ecx
nop
mov dword [esp - 4], 0x3f4f0e1d
sub dword [esp - 4], 0x2bddbaea
add dword [esp - 4], 0x68730723
mov dword [esp - 0x3c], 0x17e5fa7
sub dword [esp - 4], 0x202f9392
sub dword [esp - 4], 0x13869a4f
sub dword [esp - 4], 0x34f0667f
mov ebx, ebx
sub dword [esp - 4], 0x133dc5ec
sub esp, 4
nop
mov dword [esp - 4], 0xff70a10
xchg ecx, ecx
sub dword [esp - 4], 0x9206dc6
add dword [esp - 4], 0x3e09256b
sub dword [esp - 4], 0xccf78a8
mov dword [esp - 0x40], ebx
add dword [esp - 4], 0x1e634764
sub dword [esp - 4], 0xacfb40e
sub dword [esp - 4], 0x4ba3dc5e
mov esi, esi
sub esp, 4
lea eax, [ebp - 0x38]
push eax
mov dword [esp - 0x24], edi
call fcn.00485fe0
push eax
lea eax, [ebp - 0x40]
push eax
mov edi, edi
call fcn.00480d90
add esp, 0xc
cmp dword [ebp - 0x34], 2
jbe 0x43c535
mov dword [esp - 0x34], esi
push dword [ebp - 0x38]
call fcn.0048b6f0
add esp, 4
xchg edx, edx
cmp dword [ebp - 0x24], 2
jbe 0x43c54a
push dword [ebp - 0x28]
mov dword [esp - 0x20], esi
call fcn.0048b6f0
add esp, 4
lea eax, [ebp - 0x40]
xchg ecx, ecx
push eax
mov eax, dword [esi + 0x44]
add eax, 0x14
mov dword [esp - 0x30], 0x194d33fa
nop
sub esp, 4
mov dword [esp], 0x3161b47a
mov edx, edx
sub dword [esp], 0x183ff38
add dword [esp], 0x450ca322
sub dword [esp], 0x3591b82d
mov ecx, ecx
add dword [esp], 0x2607b3a3
sub dword [esp], 0x1f427e5e
xor dword [esp], 0x461dd520
mov dword [esp - 0x40], edx
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00481260
mov dword [esp - 0xc], 0x3c9cfb7a
add esp, 0xc
push eax
lea eax, [ebp - 0x30]
push eax
mov dword [esp - 0x3c], esi
call fcn.00480d90
add esp, 0xc
cmp dword [ebp - 0x34], 2
mov dword [esp - 0x3c], esi
jbe 0x43c5d8
push dword [ebp - 0x38]
call fcn.0048b6f0
xchg esp, esp
add esp, 4
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x28]
mov dword [esp - 0x38], 0x249a5e4e
push dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.00482250
mov dword [esp - 0x2c], 0x12fc6bcf
nop
mov dword [esp - 4], 0x660c47ec
add dword [esp - 4], 0x3dd5717
mov esi, esi
sub dword [esp - 4], 0xad1f6f5
sub dword [esp - 4], 0x4d832ae1
add dword [esp - 4], 0x21d1c015
xchg ecx, ecx
add dword [esp - 4], 0x4498ef96
xor dword [esp - 4], 0x77ff2cda
sub esp, 4
mov dword [esp - 0x24], edi
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x28]
xchg esp, esp
call fcn.004822d0
test al, al
je 0x43cc6c
xchg edx, edx
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0x28]
xor eax, 0x4d682477
mov dword [esp - 0x38], ebp
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x2c]
xor eax, 0x4d682477
xchg ebp, ebp
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x38]
nop
mov dword [esp - 0x40], esp
mov dword [esp - 4], 0x21e1e9c9
xor dword [esp - 4], 0x2467ef2e
xor dword [esp - 4], 0x4b6e7237
sub dword [esp - 4], 0x3e587437
mov dword [esp - 0x24], 0x64d6c926
add dword [esp - 4], 0x32d32788
xor dword [esp - 4], 0x3232b835
sub dword [esp - 4], 0x7151900c
sub esp, 4
mov ebp, ebp
push eax
call fcn.00482ba0
test al, al
xchg esi, esi
je 0x43cc6c
mov eax, dword [esi + 0x34]
lea ecx, [ebp - 0x28]
xor eax, 0x4d682477
mov ebp, ebp
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
nop
sub esp, 4
mov dword [esp - 0x2c], edi
mov dword [esp], 0x3f70b322
add dword [esp], 0x20d04506
xor dword [esp], 0x338b2e85
sub dword [esp], 0x41143e73
mov dword [esp - 0x34], ebx
xor dword [esp], 0x7db7c059
xor dword [esp], 0x6f005867
push eax
call fcn.00482ba0
mov dword [esp - 0x2c], 0x64fdee2
test al, al
je 0x43cc6c
nop
mov dword [esp - 0x34], edx
mov dword [esp - 4], 0x5a01471a
xor dword [esp - 4], 0x11ed4cf8
add dword [esp - 4], 0x2bdc3532
sub dword [esp - 4], 0x28f4ae3f
mov dword [esp - 0x10], ebp
xor dword [esp - 4], 0x55d2b8e6
add dword [esp - 4], 0x33867d42
sub dword [esp - 4], 0x4e87a771
xchg ebp, ebp
sub esp, 4
lea eax, [esi + 0x3c]
push eax
lea ecx, [ebp - 0x28]
mov ecx, ecx
call fcn.00482ba0
test al, al
je 0x43cc6c
mov esi, dword [esi + 0x20]
xchg esp, esp
and esi, 0x2000
mov dword [ebp - 0x18], 0x5c31b17e
add dword [ebp - 0x18], 0x13cbfec5
add dword [ebp - 0x18], 0xb771b3e
mov dword [esp - 0x30], edi
xor dword [ebp - 0x18], 0x3f80646e
sub dword [ebp - 0x18], 0x44f4afef
neg esi
mov edx, edx
sbb esi, esi
and esi, 0xffff0100
add esi, 0xffff
xor ecx, ecx
xchg ebp, ebp
mov dword [ebp - 8], ecx
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
xchg esp, esp
nop
mov dword [esp - 4], 0x250c33b2
add dword [esp - 4], 0x3adbe8ba
sub dword [esp - 4], 0x402705ab
mov dword [esp - 0x14], 0x7638686d
add dword [esp - 4], 0x45f617b1
sub dword [esp - 4], 0x4e66e578
sub dword [esp - 4], 0x175048ea
sub esp, 4
mov dword [esp - 0x28], ebp
mov eax, dword [eax + 0x38]
movups xmm0, xmmword [eax + ecx]
lea eax, [ebp - 0x60]
xorps xmm0, xmmword [0x4bf5b0]
mov dword [esp - 0x28], esp
lea ecx, [ebp - 0x28]
push eax
movaps xmmword [ebp - 0x60], xmm0
mov dword [esp - 0x24], ebp
call fcn.00482ba0
test al, al
je 0x43cc6c
mov eax, dword [ebp - 0x18]
xchg esp, esp
mov ecx, dword [ebp - 8]
inc eax
add ecx, 0x10
mov dword [esp - 0x1c], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
cmp eax, esi
mov dword [esp - 0x1c], edx
jb 0x43c7dc
mov eax, dword [ebp - 0xc]
mov esi, 0x59a81a2
add esi, 0x4921edf7
mov dword [esp - 0x24], 0x5ac334d6
sub esi, 0x357cc043
xor esi, 0x77fb39cd
sub esi, 0x6155b745
mov dword [esp - 0xc], esi
sub esi, 0xd6ddf57
mov ecx, 0x33755b35
xor ecx, 0x40a283d0
mov dword [esp - 0xc], 0x12c72ba4
xor ecx, 0xa3acda0
sub ecx, 0x13524d7b
sub ecx, 0x26659b6c
xor ecx, 0x49ec458f
xchg ebp, ebp
sub ecx, 0x9d968d2
mov dword [ebp - 0x50], 0x7e053173
sub dword [ebp - 0x50], 0x62c9fda6
mov dword [esp - 0xc], 0x5fa8d2db
xor dword [ebp - 0x50], 0x64f04ed0
sub dword [ebp - 0x50], 0xc75547d
sub dword [ebp - 0x50], 0x65eeeea5
xchg ebp, ebp
sub dword [ebp - 0x50], 0xd6739fb
mov dword [ebp - 0x4c], 0x776864c3
sub dword [ebp - 0x4c], 0x553ce123
mov edi, edi
add dword [ebp - 0x4c], 0x2aedf1e7
sub dword [ebp - 0x4c], 0xeffd416
sub dword [ebp - 0x4c], 0x3e19a171
mov dword [esp - 0x40], esp
mov dword [ebp - 0x48], 0x31f002de
add dword [ebp - 0x48], 0x38aed9df
add dword [ebp - 0x48], 0xa4ddd44
xchg esp, esp
xor dword [ebp - 0x48], 0x4447de86
sub dword [ebp - 0x48], 0x30ab6487
test dword [eax + 0x20], 0x2000
pushf
mov dword [esp - 0x30], ecx
mov dword [ebp - 0x44], 0x62f2bffe
sub dword [ebp - 0x44], 0x35f75dbf
sub dword [ebp - 0x44], 0x2cedbf0d
mov dword [esp - 0x18], 0x1ddcccbd
xor dword [ebp - 0x44], 0x1b37ded0
sub dword [ebp - 0x44], 0x1b3a7de2
popf
mov dword [esp - 0x10], 0x592dbb19
cmovne esi, ecx
je 0x43c9fd
nop
sub esp, 4
mov ebp, ebp
mov dword [esp], 0x30c44963
xor dword [esp], 0x7e6679c0
sub dword [esp], 0x21ea3568
add dword [esp], 0x161bfba9
mov ebx, ebx
xor dword [esp], 0x7b0a566c
add dword [esp], 0x3425f7b6
xor dword [esp], 0x6dff982e
mov dword [esp - 0x40], ebx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x28]
xchg esi, esi
call fcn.00482ba0
test al, al
je 0x43cc6c
inc esi
mov esi, esi
cmp esi, 0xffff
jb 0x43c99f
mov eax, dword [ebp - 0x34]
mov dword [esp - 0x40], 0x57d4c872
lea ecx, [ebp - 0x28]
imul eax, dword [ebp - 0x38]
shl eax, 2
push eax
mov esp, esp
push dword [ebp - 0x20]
call fcn.00482ba0
test al, al
mov dword [esp - 0x20], esp
je 0x43cc6c
lea ecx, [ebp - 0x28]
call fcn.00482ca0
lea ecx, [ebp - 0x28]
mov ecx, ecx
call fcn.004822c0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x38]
mov dword [esp - 0xc], esp
call fcn.00405770
mov ecx, dword [ebp - 0xc]
push dword [eax]
mov dword [esp - 0x10], ebp
call fcn.0043b970
push eax
sub esp, 4
xchg edx, edx
mov dword [esp], 0x200e9f5a
add dword [esp], 0x4653fffb
xor dword [esp], 0x654c6926
mov dword [esp - 0x40], edx
xor dword [esp], 0x747437e2
xor dword [esp], 0x7c8c7e8
xor dword [esp], 0x3f4611dc
mov esp, esp
mov ecx, edi
call fcn.00484c10
cmp byte [ebp - 0x34], 0
mov dword [esp - 0x3c], 0x66ddb3f4
je 0x43cab3
push dword [ebp - 0x38]
call fcn.0048b6f0
mov dword [esp - 0x24], ebx
add esp, 4
push dword [ebp - 0x10]
mov ecx, edi
sub esp, 4
mov dword [esp - 0x3c], 0x214ac72d
mov dword [esp], 0x9712498
add dword [esp], 0x28a79e85
add dword [esp], 0x44b900e1
mov ebp, ebp
sub dword [esp], 0x2feadad6
xor dword [esp], 0x34a33993
add dword [esp], 0x3fd2023
mov dword [esp - 0x2c], ebx
add dword [esp], 0x5094a70b
sub esp, 4
mov dword [esp], 0x22911a71
xor dword [esp], 0x55ee4746
mov dword [esp - 0x18], edi
sub dword [esp], 0x5a70a536
add dword [esp], 0x5487b4c9
sub dword [esp], 0x21c25525
call fcn.00484ba0
xchg edx, edx
mov ecx, edi
call fcn.00484610
test al, al
mov ebx, ebx
jne 0x43cc7c
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x30]
xchg ebp, ebp
cmp ecx, 2
mov dword [ebp - 0x18], ecx
pushf
mov edx, 0x187995cf
xchg esi, esi
add edx, 0x2375bfcc
sub edx, 0x10377fd
add edx, 0x2cf00f62
xchg edx, edx
sub edx, 0x125c79cd
xor edx, 0x2cf5eec5
sub edx, 0x798a9df4
mov dword [esp - 0x30], edx
popf
cmova eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], eax
lea eax, [ecx + 1]
mov dword [esp - 0x2c], 0x4db63331
xor ecx, ecx
mul edx
seto cl
xchg ebx, ebx
neg ecx
or ecx, eax
push ecx
mov dword [esp - 0xc], ebx
call fcn.0048b720
mov esi, eax
add esp, 4
mov dword [esp - 0x3c], ebx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], esi
test eax, eax
je 0x43cc47
mov dword [esp - 0x14], 0x342c5fe4
sub dword [ebp - 0x10], esi
mov edx, esi
mov edi, dword [ebp - 0x10]
xor esi, esi
mov dword [esp - 0x14], 0x563af2f9
lea ecx, [ecx]
mov ecx, esi
lea edx, [edx + 2]
xchg ebx, ebx
and ecx, 3
mov eax, 0x2c0f1e59
xor eax, 0x14788d74
mov dword [esp - 0x14], 0xabd8c2f
xor eax, 0xff82ab0
xor eax, 0x2a0b7f85
add eax, 0x1774c02a
add eax, 0x34d7cf34
mov dword [esp - 0x24], 0x5af9ff25
add eax, 0x9acceca
shl ecx, 3
inc esi
mov dword [esp - 0x10], ecx
sar eax, cl
cbw
xor ax, word [edi + edx - 2]
mov word [edx - 2], ax
mov dword [esp - 0x10], 0x309d26f1
mov eax, dword [ebp - 0x18]
cmp esi, eax
jb 0x43cbdc
mov esi, dword [ebp - 0x20]
mov dword [esp - 0x3c], esi
mov edi, dword [ebp - 0x14]
xor ecx, ecx
mov word [esi + eax*2], cx
mov esp, esp
mov eax, dword [0x4baa10]
xor eax, dword [0x4ba958]
push esi
xchg esp, esp
call eax
push esi
call fcn.0048b6f0
xchg edi, edi
add esp, 4
jmp 0x43cc7c
lea ecx, [ebp - 0x28]
call fcn.004822c0
mov dword [esp - 0x14], 0x7a295cc
mov ecx, edi
call fcn.00483810
nop
mov dword [esp - 4], 0x414b8988
xchg edx, edx
add dword [esp - 4], 0x359246bb
xor dword [esp - 4], 0x45d1cb21
add dword [esp - 4], 0x24aff067
xor dword [esp - 4], 0x5dc493d9
mov edi, edi
sub dword [esp - 4], 0xa7897f8
sub esp, 4
push edi
call fcn.0048b700
mov dword [esp - 0x40], ebx
add esp, 8
cmp dword [ebp - 0x2c], 2
jbe 0x43cce1
push dword [ebp - 0x30]
mov dword [esp - 0x1c], 0x7803b07d
call fcn.0048b6f0
add esp, 4
cmp dword [ebp - 0x3c], 2
mov dword [esp - 0x14], ecx
jbe 0x43ccf8
push dword [ebp - 0x40]
call fcn.0048b6f0
xchg edx, edx
add esp, 4
mov al, 0x1c
add al, 0x14
sub al, 0x17
mov dword [esp - 0x20], ebp
xor al, 0x7f
add al, 4
xor al, 0x6b
pop edi
mov edi, edi
pop esi
mov esp, ebp
pop ebp
xchg edi, edi
mov esp, ebx
pop ebx
ret 4
test edi, edi
je 0x43cd6e
mov ecx, edi
mov dword [esp - 0x10], 0x576b4b9d
call fcn.00483810
nop
sub esp, 4
mov dword [esp], 0x71f764b6
xchg ebx, ebx
sub dword [esp], 0x589f11d5
xor dword [esp], 0x5e956169
sub dword [esp], 0x432daf41
xor dword [esp], 0x275739de
xchg esi, esi
xor dword [esp], 0x1f4eecf1
sub dword [esp], 0x3c865150
push edi
mov ebx, ebx
call fcn.0048b700
add esp, 8
pop edi
mov dword [esp - 0x18], ebx
xor al, al
pop esi
mov esp, ebp
mov dword [esp - 0x44], 0x691c01c2
pop ebp
mov esp, ebx
pop ebx
ret 4