Function at 0x41ab50
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov dword [esp + 0x44], 0
mov dword [esp], 0
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x3c
xor cl, byte [esp + eax + 4]
add cl, 0xd4
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 6
jne 0x41ab80
mov eax, dword [esp + 4]
mov ecx, dword [0x44d110]
test ecx, ecx
je 0x41abe2
xor edx, edx
mov esi, dword [0x44d114]
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x89bc83a7
je 0x41abc0
inc edx
cmp ecx, edx
jne 0x41abb0
jmp 0x41abe2
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41abe2
mov eax, esp
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x1c
cmp eax, 0xc000007c
jne 0x41ac60
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x3c
xor cl, byte [esp + eax + 4]
add cl, 0xd4
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 6
jne 0x41ac00
mov eax, dword [0x44d110]
test eax, eax
je 0x41ac60
mov ecx, dword [esp + 4]
xor edx, edx
mov esi, dword [0x44d114]
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xeb857808
je 0x41ac40
inc edx
cmp eax, edx
jne 0x41ac30
jmp 0x41ac60
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x41ac60
mov ecx, esp
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x18
mov ecx, dword [esp]
test ecx, ecx
je 0x41b11e
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 4]
add dl, 0xd4
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 6
jne 0x41ac80
mov eax, dword [esp + 4]
mov edx, dword [0x44d110]
test edx, edx
je 0x41ace5
xor esi, esi
mov edi, dword [0x44d114]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x8869e8e9
je 0x41acc0
inc esi
cmp edx, esi
jne 0x41acb0
jmp 0x41ace5
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41ace5
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41adbb
push dword [esp + 0x38]
call fcn.0043b1f0
add esp, 4
mov esi, dword [esp + 0x38]
mov edx, dword [esp]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
add bl, 0x3c
xor bl, byte [esp + ecx + 4]
add bl, 0xd4
mov byte [esp + ecx + 4], bl
inc ecx
cmp ecx, 6
jne 0x41ad20
mov ecx, dword [esp + 4]
mov edi, dword [0x44d110]
test edi, edi
je 0x41ad8a
xor ebx, ebx
mov ebp, dword [0x44d114]
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x8869e8e9
je 0x41ad61
inc ebx
cmp edi, ebx
jne 0x41ad50
jmp 0x41ad8a
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x41ad8a
lea ecx, [esp + 0x38]
push ecx
push esi
push eax
push 1
push edx
push 0x14
push edi
push dword [0x44d118]
mov esi, eax
call fcn.0043dd00
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x41adb2
mov ecx, dword [eax]
test ecx, ecx
je 0x41adb2
cmp byte [ecx], 1
jne 0x41adb2
cmp byte [ecx + 1], 0xf
ja 0x41adb2
cmp byte [ecx + 7], 5
jne 0x41adb2
cmp byte [ecx + 8], 0x12
jne 0x41adb2
mov ecx, dword [esp]
mov dword [esp + 0x44], ecx
push eax
call fcn.0043b290
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x41b120
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [0x44bde8]
mov dword [esp + 4], 0x913a9f3f
mov dword [esp + 8], 0x95319306
mov dword [esp + 0xc], 0x890d9704
mov dword [esp + 0x10], 0x8dd88bdd
mov dword [esp + 0x14], 0x812a8fd2
mov dword [esp + 0x18], 0x851e831c
mov dword [esp + 0x1c], 0x8784
mov ecx, 0xceff7825
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x310087df]
mov edx, ecx
and edx, esi
mov edi, edx
and edi, 2
mov ebx, edx
or edx, 2
imul edx, edi
xor edi, 2
and ebx, 0x7d
imul ebx, edi
add edx, ebx
add esi, ecx
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
add dl, 0x47
mov byte [esp + ecx + 0x310087df], dl
inc ecx
cmp ecx, 0xceff7841
jne 0x41ae20
lea edi, [esp + 4]
push 0x800
push 0
push edi
call eax
lea ecx, [esp + 0x78]
push eax
call fcn.0043c7e0
test al, al
je 0x41afbd
mov dword [esp + 0x68], 1
mov dword [esp + 0x74], 2
push 0x367fa9e7
push dword [esp + 0x7c]
call fcn.0043f880
add esp, 8
mov dword [esp + 4], 0xcf6bc97f
mov dword [esp + 8], 0xc35fcd75
mov dword [esp + 0xc], 0xc763c150
mov dword [esp + 0x10], 0xbb2dc552
mov dword [esp + 0x14], 0xbf2cb92b
mov dword [esp + 0x18], 0xb326bd1d
mov dword [esp + 0x1c], 0xb706b115
mov dword [esp + 0x20], 0xab33b522
mov dword [esp + 0x24], 0xaf37a922
mov dword [esp + 0x28], 0xa307ad30
mov dword [esp + 0x2c], 0xa703a13b
mov dword [esp + 0x30], 0xa5a4
mov ecx, 0xacd965b2
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x53269a52]
xor edx, ecx
mov esi, edx
and esi, 5
xor edx, 0x9fc10385
lea ebx, [edx + esi*2]
and edx, 1
xor ebx, 1
or ebx, edx
add ebx, edx
mov byte [esp + ecx + 0x53269a52], bl
inc ecx
cmp ecx, 0xacd965e2
jne 0x41af10
lea ecx, [esp + 0x6c]
push ecx
push edi
push 0
call eax
test eax, eax
je 0x41b0b7
mov ecx, dword [esp]
mov dword [esp + 0x58], 0x14151617
mov word [esp + 0x5c], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 0x58]
add dl, 0xd4
mov byte [esp + eax + 0x58], dl
inc eax
cmp eax, 6
jne 0x41af70
mov eax, dword [esp + 0x58]
mov edx, dword [0x44d110]
test edx, edx
je 0x41b04e
xor esi, esi
mov edi, dword [0x44d114]
cmp dword [edi + esi*8], 0x845fa972
je 0x41b027
mov ebx, esi
and ebx, 1
xor esi, 1
lea esi, [esi + ebx*2]
cmp esi, edx
jb 0x41afa0
jmp 0x41b04e
mov ecx, dword [esp]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 4]
add dl, 0xd4
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 6
jne 0x41afe0
mov eax, dword [0x44d110]
test eax, eax
je 0x41b11e
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44d114]
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41b12b
inc esi
cmp eax, esi
jne 0x41b010
jmp 0x41b11e
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41b04e
lea eax, [esp + 0x68]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x24
test eax, eax
js 0x41b0b7
push dword [esp + 0x78]
call dword [0x44befc]
mov eax, dword [esp]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor ecx, ecx
mov edx, ecx
add dl, 0x3c
xor dl, byte [esp + ecx + 4]
add dl, 0xd4
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 6
jne 0x41b070
mov ecx, dword [0x44d110]
test ecx, ecx
je 0x41b165
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44d114]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41b14b
inc esi
cmp ecx, esi
jne 0x41b0a0
jmp 0x41b165
push dword [esp + 0x78]
call dword [0x44befc]
mov ecx, dword [esp]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 4]
add dl, 0xd4
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 6
jne 0x41b0e0
mov eax, dword [0x44d110]
test eax, eax
je 0x41b11e
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44d114]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41b12b
inc esi
cmp eax, esi
jne 0x41b110
xor eax, eax
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi + esi*8 + 4]
xor eax, eax
cmp esi, edx
je 0x41b120
push ecx
push 4
push esi
push dword [0x44d118]
call fcn.0043dd00
xor eax, eax
add esp, 0x10
jmp 0x41b120
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41b165
push eax
push 4
push ecx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x10
mov dword [esp + 0x54], 0
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x3c
xor cl, byte [esp + eax + 4]
add cl, 0xd4
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 6
jne 0x41b180
mov eax, dword [esp + 4]
mov ecx, dword [0x44d110]
test ecx, ecx
je 0x41b1e4
xor edx, edx
mov esi, dword [0x44d114]
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x61813e67
je 0x41b1c0
inc edx
cmp ecx, edx
jne 0x41b1b0
jmp 0x41b1e4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41b1e4
lea eax, [esp + 0x54]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x1c
mov dword [esp + 4], 0x97d6c9c4
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
mov ecx, 0x4055b3ae
nop
nop
nop
movzx edx, byte [esp + ecx - 0x4055b3aa]
xor edx, ecx
neg edx
mov esi, edx
and esi, 0x67
add esi, esi
xor edx, 0x98
sub edx, esi
add dl, 2
mov byte [esp + ecx - 0x4055b3aa], dl
inc ecx
cmp ecx, 0x4055b3b5
jne 0x41b200
cmp eax, dword [esp + 4]
jne 0x41b891
push dword [esp + 0x54]
call fcn.0043b1f0
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 4]
add dl, 0xd4
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 6
jne 0x41b260
mov eax, dword [esp + 4]
mov edx, dword [0x44d110]
test edx, edx
je 0x41b2bf
xor esi, esi
mov edi, dword [0x44d114]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x61813e67
je 0x41b2a0
inc esi
cmp edx, esi
jne 0x41b290
jmp 0x41b2bf
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41b2bf
push 0
push ecx
push ebx
push 5
push 0x10
push edx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x1c
test eax, eax
js 0x41b888
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov ebp, dword [ebx]
lea edi, [esp + 0x58]
mov dword [esp + 0x88], ebx
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + ebp + 0x44]
mov dword [esp + 0x60], eax
mov ecx, edi
push 0x1000
call fcn.0043b640
test eax, eax
js 0x41b865
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 4]
add dl, 0xd4
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 6
jne 0x41b340
mov eax, dword [esp + 4]
mov edx, dword [0x44d110]
test edx, edx
je 0x41b3a1
xor edi, edi
mov ebx, dword [0x44d114]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xeb857808
je 0x41b380
inc edi
cmp edx, edi
jne 0x41b370
jmp 0x41b3a1
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41b3a1
lea eax, [esp + 0x40]
push eax
push 0xa
push ecx
push 0xc
push edx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x18
test eax, eax
js 0x41b85a
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
nop
nop
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 4]
add dl, 0xd4
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 6
jne 0x41b3c0
mov eax, dword [esp + 4]
mov edx, dword [0x44d110]
test edx, edx
je 0x41b425
xor edi, edi
mov ebx, dword [0x44d114]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x8869e8e9
je 0x41b400
inc edi
cmp edx, edi
jne 0x41b3f0
jmp 0x41b425
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41b425
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41b7de
push dword [esp + 0x38]
call fcn.0043b1f0
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x3c
xor dl, byte [esp + ecx + 4]
add dl, 0xd4
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 6
jne 0x41b460
mov ecx, dword [esp + 4]
mov edi, dword [0x44d110]
test edi, edi
je 0x41b4cf
mov dword [esp + 0x34], ebx
xor edx, edx
mov ebx, dword [0x44d114]
cmp dword [ebx + edx*8], 0x8869e8e9
je 0x41b4a0
inc edx
cmp edi, edx
jne 0x41b490
jmp 0x41b4cf
mov edi, dword [ebx + edx*8 + 4]
cmp edi, ecx
je 0x41b4cf
lea ecx, [esp + 0x38]
push ecx
push dword [esp + 0x4c]
push eax
push 1
push dword [esp + 0x44]
push 0x14
push edi
push dword [0x44d118]
mov edi, eax
call fcn.0043dd00
add esp, 0x20
mov ecx, eax
mov eax, edi
test ecx, ecx
js 0x41b7d5
mov ecx, dword [eax]
test ecx, ecx
je 0x41b7d5
cmp byte [ecx], 1
jne 0x41b7d5
cmp byte [ecx + 1], 0xf
ja 0x41b7d5
cmp byte [ecx + 7], 5
jne 0x41b7d5
cmp byte [ecx + 8], 0x12
jne 0x41b7d5
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor ecx, ecx
mov edx, ecx
add dl, 0x3c
xor dl, byte [esp + ecx + 4]
add dl, 0xd4
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 6
jne 0x41b51d
mov ecx, dword [esp + 4]
mov edi, dword [0x44d110]
test edi, edi
je 0x41b58b
mov dword [esp + 0x48], ebx
xor ebx, ebx
mov edx, dword [0x44d114]
cmp dword [edx + ebx*8], 0x8869e8e9
je 0x41b55d
inc ebx
cmp edi, ebx
jne 0x41b54d
jmp 0x41b58b
mov edi, dword [edx + ebx*8 + 4]
cmp edi, ecx
je 0x41b58b
lea ecx, [esp + 0x50]
push ecx
push 0
push 0
push 3
push dword [esp + 0x58]
push 0x14
push edi
push dword [0x44d118]
mov edi, eax
call fcn.0043dd00
add esp, 0x20
mov ecx, eax
mov eax, edi
cmp ecx, 0xc0000023
jne 0x41b7d5
mov dword [esp + 0x48], eax
push dword [esp + 0x50]
call fcn.0043b1f0
add esp, 4
mov edi, eax
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor eax, eax
mov ecx, eax
add cl, 0x3c
xor cl, byte [esp + eax + 4]
add cl, 0xd4
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 6
jne 0x41b5c2
mov ecx, dword [esp + 4]
mov eax, dword [0x44d110]
test eax, eax
je 0x41b636
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x34], edx
mov ebx, edi
xor edi, edi
mov edx, dword [0x44d114]
cmp dword [edx + edi*8], 0x8869e8e9
je 0x41b609
inc edi
cmp eax, edi
jne 0x41b5f7
mov edi, ebx
jmp 0x41b636
mov eax, dword [edx + edi*8 + 4]
cmp eax, ecx
mov edi, ebx
je 0x41b636
lea ecx, [esp + 0x50]
push ecx
push dword [esp + 0x50]
push edi
push 3
push dword [esp + 0x44]
push 0x14
push eax
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x41b7c8
mov ecx, dword [edi]
test ecx, ecx
je 0x41b7c8
movzx edx, byte [esp + 0x6c]
mov dh, byte [esp + 0x6d]
movzx eax, byte [esp + 0x6e]
mov ah, byte [esp + 0x6f]
mov byte [esp + 0x34], ah
movzx ebx, byte [esp + 0x70]
mov byte [esp + 0x4c], bl
movzx ebx, byte [esp + 0x71]
mov byte [esp + 0x3e], bl
mov ah, byte [esp + 0x72]
mov byte [esp + 0x3d], ah
mov ah, byte [esp + 0x73]
mov byte [esp + 0x3c], ah
mov ebx, edi
add ebx, 0xb
mov byte [esp + 0x3f], al
jmp 0x41b695
add ebx, 0xc
dec ecx
je 0x41b7c8
cmp byte [ebx - 7], dl
jne 0x41b68b
cmp byte [ebx - 6], dh
jne 0x41b68b
cmp byte [ebx - 5], al
jne 0x41b68b
mov ah, byte [esp + 0x34]
cmp byte [ebx - 4], ah
jne 0x41b68b
mov ah, byte [esp + 0x4c]
cmp byte [ebx - 3], ah
movzx eax, byte [esp + 0x3f]
jne 0x41b68b
mov ah, byte [esp + 0x3e]
cmp byte [ebx - 2], ah
jne 0x41b68b
mov ah, byte [esp + 0x3d]
cmp byte [ebx - 1], ah
jne 0x41b68b
mov ah, byte [esp + 0x3c]
cmp byte [ebx], ah
jne 0x41b68b
mov dword [esp + 0x34], edi
mov dword [esp + 0x8c], 0xc
mov dword [esp + 0x90], 2
mov word [esp + 0x94], 1
mov dword [esp + 4], 0x18
lea eax, [esp + 8]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
lea eax, [esp + 0x8c]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x80], 0x14151617
mov word [esp + 0x84], 0
xor eax, eax
mov edx, eax
add dl, 0x3c
xor dl, byte [esp + eax + 0x80]
add dl, 0xd4
mov byte [esp + eax + 0x80], dl
inc eax
cmp eax, 6
jne 0x41b746
mov eax, dword [esp + 0x80]
mov edx, dword [0x44d110]
test edx, edx
je 0x41b7b8
xor edi, edi
mov ebx, dword [0x44d114]
cmp dword [ebx + edi*8], 0xa6d9b1ac
je 0x41b78b
inc edi
cmp edx, edi
jne 0x41b77b
jmp 0x41b7b8
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41b7b8
lea eax, [esp + 0x44]
push eax
push 2
push 0
lea eax, [esp + 0x10]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x24
test eax, eax
jns 0x41b7c4
mov dword [esp + 0x44], 0
mov edi, dword [esp + 0x34]
push edi
call fcn.0043b290
add esp, 4
mov eax, dword [esp + 0x48]
push eax
call fcn.0043b290
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0x14151617
mov word [esp + 8], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x3c
xor dl, byte [esp + ecx + 4]
add dl, 0xd4
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 6
jne 0x41b800
mov ecx, dword [0x44d110]
test ecx, ecx
je 0x41b85a
mov edx, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x44d114]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x41b840
inc edi
cmp ecx, edi
jne 0x41b830
jmp 0x41b85a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41b85a
push eax
push 4
push ecx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x10
lea edi, [esp + 0x58]
mov ecx, edi
call fcn.0043b790
cmp dword [esp + 0x44], 0
jne 0x41b878
add esi, ebp
mov ebp, dword [esi]
test ebp, ebp
jne 0x41b300
lea ecx, [esp + 0x58]
call fcn.0043b790
mov ebx, dword [esp + 0x88]
push ebx
call fcn.0043b290
add esp, 4
mov eax, dword [esp + 0x44]
jmp 0x41b120