Function at 0x441160
Capabilities:
Get common file path

Disassembly:
sub esp, 0x828
mov eax, dword [0x5bc9cc]
xor eax, esp
mov dword [esp + 0x824], eax
mov eax, dword [esp + 0x82c]
push ebx
push ebp
push esi
push edi
mov esi, edx
push 0x104
lea edx, [esp + 0x434]
push edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x441df5
lea eax, [esp + 0x30]
lea ebp, [esp + 0x430]
mov ecx, eax
mov word [esp + 0x636], 0
mov edx, 0x200
sub ebp, ecx
mov edi, edi
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x4411f0
movzx ecx, word [eax + ebp]
test cx, cx
je 0x4411f0
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x4411d0
jmp 0x4411f4
test edx, edx
jne 0x4411f7
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
cmp word [eax], 0
je 0x441215
add eax, 2
sub ecx, 1
jne 0x441205
jmp 0x44123a
test ecx, ecx
je 0x44123a
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.ddraw.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x44130b
mov eax, dword [esp + 0x24]
cmp eax, 0x40002
mov ecx, dword [esp + 0x20]
ja 0x441267
jb 0x441296
cmp ecx, 0x5f
ja 0x441267
jb 0x441296
test esi, esi
je 0x441271
mov dword [esi], 1
mov edx, dword [esp + 0x14]
test edx, edx
je 0x44127f
mov dword [edx], 0
mov edi, dword [esp + 0x18]
test edi, edi
je 0x44128c
mov word [edi], 0x20
mov dword [esp + 0x1c], 1
jmp 0x44129e
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp eax, 0x40003
ja 0x4412b1
jb 0x4412d6
cmp ecx, 0x448
ja 0x4412b1
jb 0x4412d6
test esi, esi
je 0x4412bb
mov dword [esi], 2
test edx, edx
je 0x4412c5
mov dword [edx], 0
test edi, edi
je 0x4412ce
mov word [edi], 0x20
mov dword [esp + 0x1c], 1
cmp eax, 0x40004
ja 0x4412e6
jb 0x44130b
cmp ecx, 0x44
ja 0x4412e6
jb 0x44130b
test esi, esi
je 0x4412f0
mov dword [esi], 3
test edx, edx
je 0x4412fa
mov dword [edx], 0
test edi, edi
je 0x441303
mov word [edi], 0x20
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441334
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441334
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441314
jmp 0x441338
test edx, edx
jne 0x44133b
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
lea esp, [esp]
cmp word [eax], 0
je 0x441360
add eax, 2
sub ecx, 1
jne 0x441350
jmp 0x441385
test ecx, ecx
je 0x441385
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.d3drg8x.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x4413db
mov eax, dword [esp + 0x24]
cmp eax, 0x40004
ja 0x4413ae
jb 0x4413db
mov eax, dword [esp + 0x20]
cmp eax, 0x46
ja 0x4413ae
jb 0x4413db
test esi, esi
je 0x4413b8
mov dword [esi], 3
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4413c6
mov dword [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4413d3
mov word [eax], 0x61
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441404
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441404
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x4413e4
jmp 0x441408
test edx, edx
jne 0x44140b
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
lea esp, [esp]
cmp word [eax], 0
je 0x441430
add eax, 2
sub ecx, 1
jne 0x441420
jmp 0x441455
test ecx, ecx
je 0x441455
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.ddraw.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x44152c
mov eax, dword [esp + 0x24]
cmp eax, 0x40005
mov ecx, dword [esp + 0x20]
ja 0x441485
jb 0x4414b4
cmp ecx, 0x9b
ja 0x441485
jb 0x4414b4
test esi, esi
je 0x44148f
mov dword [esi], 5
mov edx, dword [esp + 0x14]
test edx, edx
je 0x44149d
mov dword [edx], 0
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4414aa
mov word [edi], 0x20
mov dword [esp + 0x1c], 1
jmp 0x4414bc
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp eax, 0x40006
ja 0x4414cf
jb 0x4414f4
cmp ecx, 0x13e
ja 0x4414cf
jb 0x4414f4
test esi, esi
je 0x4414d9
mov dword [esi], 6
test edx, edx
je 0x4414e3
mov dword [edx], 0
test edi, edi
je 0x4414ec
mov word [edi], 0x20
mov dword [esp + 0x1c], 1
cmp eax, 0x40006
ja 0x441507
jb 0x44152c
cmp ecx, 0x1b4
ja 0x441507
jb 0x44152c
test esi, esi
je 0x441511
mov dword [esi], 6
test edx, edx
je 0x44151b
mov dword [edx], 1
test edi, edi
je 0x441524
mov word [edi], 0x20
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441555
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441555
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441535
jmp 0x441559
test edx, edx
jne 0x44155c
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
lea ebx, [ebx]
cmp word [eax], 0
je 0x441580
add eax, 2
sub ecx, 1
jne 0x441570
jmp 0x4415a5
test ecx, ecx
je 0x4415a5
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.dplayx.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x4415fd
mov eax, dword [esp + 0x24]
cmp eax, 0x40006
ja 0x4415d0
jb 0x4415fd
mov eax, dword [esp + 0x20]
cmp eax, 0x30206
ja 0x4415d0
jb 0x4415fd
test esi, esi
je 0x4415da
mov dword [esi], 6
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4415e8
mov dword [eax], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4415f5
mov word [eax], 0x61
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441626
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441626
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441606
jmp 0x44162a
test edx, edx
jne 0x44162d
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
jmp 0x441640
cmp word [eax], 0
je 0x441650
add eax, 2
sub ecx, 1
jne 0x441640
jmp 0x441675
test ecx, ecx
je 0x441675
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.ddraw.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x4416cd
mov eax, dword [esp + 0x24]
cmp eax, 0x40007
ja 0x4416a0
jb 0x4416cd
mov eax, dword [esp + 0x20]
cmp eax, 0x2bc
ja 0x4416a0
jb 0x4416cd
test esi, esi
je 0x4416aa
mov dword [esi], 7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4416b8
mov dword [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4416c5
mov word [eax], 0x20
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x4416f6
movzx ecx, word [eax + ebp]
test cx, cx
je 0x4416f6
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x4416d6
jmp 0x4416fa
test edx, edx
jne 0x4416fd
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
jmp 0x441710
cmp word [eax], 0
je 0x441720
add eax, 2
sub ecx, 1
jne 0x441710
jmp 0x441745
test ecx, ecx
je 0x441745
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.dinput.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x44179d
mov eax, dword [esp + 0x24]
cmp eax, 0x40007
ja 0x441770
jb 0x44179d
mov eax, dword [esp + 0x20]
cmp eax, 0x2cc
ja 0x441770
jb 0x44179d
test esi, esi
je 0x44177a
mov dword [esi], 7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x441788
mov dword [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441795
mov word [eax], 0x61
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x4417c6
movzx ecx, word [eax + ebp]
test cx, cx
je 0x4417c6
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x4417a6
jmp 0x4417ca
test edx, edx
jne 0x4417cd
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
jmp 0x4417e0
cmp word [eax], 0
je 0x4417f0
add eax, 2
sub ecx, 1
jne 0x4417e0
jmp 0x441815
test ecx, ecx
je 0x441815
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.ddraw.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x44189c
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, edx
shr eax, 0x10
cmp ax, 4
jne 0x44184b
cmp edx, 0x40008
ja 0x44186b
jb 0x44184b
cmp esi, 0x190
jae 0x44186b
cmp ax, 5
jne 0x44189c
mov eax, 0x50001
push eax
mov ecx, 0x8d20190
push ecx
push edx
push esi
call fcn.00441f00
add esp, 0x10
test eax, eax
jl 0x44189c
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441879
mov dword [eax], 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x441887
mov dword [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441894
mov word [eax], 0x20
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x4418c5
movzx ecx, word [eax + ebp]
test cx, cx
je 0x4418c5
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x4418a5
jmp 0x4418c9
test edx, edx
jne 0x4418cc
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
lea ebx, [ebx]
cmp word [eax], 0
je 0x4418f0
add eax, 2
sub ecx, 1
jne 0x4418e0
jmp 0x441915
test ecx, ecx
je 0x441915
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.d3d8.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x441a0b
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edi, edx
shr edi, 0x10
cmp di, 4
jne 0x44194f
cmp edx, 0x40008
ja 0x44196f
jb 0x44194f
cmp esi, 0x10371
jae 0x44196f
cmp di, 5
jne 0x4419a2
mov eax, 0x50001
push eax
mov ecx, 0xa280371
push ecx
push edx
push esi
call fcn.00441f00
add esp, 0x10
test eax, eax
jl 0x4419a2
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44197d
mov dword [eax], 8
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x44198b
mov dword [ebx], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441998
mov word [eax], 0x20
mov dword [esp + 0x1c], 1
jmp 0x4419a6
mov ebx, dword [esp + 0x14]
cmp di, 4
jne 0x4419be
cmp edx, 0x40008
ja 0x4419de
jb 0x4419be
cmp esi, 0x10385
jae 0x4419de
cmp di, 5
jne 0x441a0b
mov eax, 0x50001
push eax
mov ecx, 0xa280385
push ecx
push edx
push esi
call fcn.00441f00
add esp, 0x10
test eax, eax
jl 0x441a0b
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4419ec
mov dword [eax], 8
test ebx, ebx
je 0x4419f6
mov dword [ebx], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441a03
mov word [eax], 0x61
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441a34
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441a34
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441a14
jmp 0x441a38
test edx, edx
jne 0x441a3b
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
lea esp, [esp]
cmp word [eax], 0
je 0x441a60
add eax, 2
sub ecx, 1
jne 0x441a50
jmp 0x441a85
test ecx, ecx
je 0x441a85
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.mpg2splt.ax
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x441ae1
mov eax, dword [esp + 0x24]
cmp eax, 0x60003
ja 0x441ab0
jb 0x441ae1
mov eax, dword [esp + 0x20]
cmp eax, 0x10375
ja 0x441ab0
jb 0x441ae1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441abe
mov dword [eax], 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x441acc
mov dword [eax], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441ad9
mov word [eax], 0x62
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ebx, [ebx]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441b10
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441b10
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441af0
jmp 0x441b14
test edx, edx
jne 0x441b17
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
cmp word [eax], 0
je 0x441b35
add eax, 2
sub ecx, 1
jne 0x441b25
jmp 0x441b5a
test ecx, ecx
je 0x441b5a
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.dpnet.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x441be1
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x10
cmp ax, 4
jne 0x441b90
cmp ecx, 0x40009
ja 0x441bb0
jb 0x441b90
cmp esi, 0x86
jae 0x441bb0
cmp ax, 5
jne 0x441be1
mov eax, 0x50002
push eax
mov edx, 0xe5d0086
push edx
push ecx
push esi
call fcn.00441f00
add esp, 0x10
test eax, eax
jl 0x441be1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441bbe
mov dword [eax], 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x441bcc
mov dword [eax], 2
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441bd9
mov word [eax], 0x20
mov dword [esp + 0x1c], 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ebx, [ebx]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441c10
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441c10
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441bf0
jmp 0x441c14
test edx, edx
jne 0x441c17
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
cmp word [eax], 0
je 0x441c35
add eax, 2
sub ecx, 1
jne 0x441c25
jmp 0x441c5a
test ecx, ecx
je 0x441c5a
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.d3d9.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x441c9b
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441c79
mov dword [eax], 9
mov eax, dword [esp + 0x14]
test eax, eax
je 0x441c87
mov dword [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441c94
mov word [eax], 0x20
mov esi, 1
jmp 0x441c9f
mov esi, dword [esp + 0x1c]
mov edx, 0x200
lea eax, [esp + 0x30]
jmp 0x441cb0
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441cd0
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441cd0
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441cb0
jmp 0x441cd4
test edx, edx
jne 0x441cd7
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
cmp word [eax], 0
je 0x441cf5
add eax, 2
sub ecx, 1
jne 0x441ce5
jmp 0x441d1a
test ecx, ecx
je 0x441d1a
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.d3d10.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x441d59
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441d39
mov dword [eax], 0xa
mov eax, dword [esp + 0x14]
test eax, eax
je 0x441d47
mov dword [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441d54
mov word [eax], 0x20
mov esi, 1
mov edx, 0x200
lea eax, [esp + 0x30]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x441d82
movzx ecx, word [eax + ebp]
test cx, cx
je 0x441d82
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x441d62
jmp 0x441d86
test edx, edx
jne 0x441d89
sub eax, 2
mov word [eax], 0
mov ecx, 0x200
lea eax, [esp + 0x30]
cmp word [eax], 0
je 0x441da7
add eax, 2
sub ecx, 1
jne 0x441d97
jmp 0x441dcc
test ecx, ecx
je 0x441dcc
mov eax, 0x200
sub eax, ecx
mov edx, 0x200
sub edx, eax
lea ecx, [esp + eax*2 + 0x30]
push str.d3d11.dll
mov eax, DirectSoundCreate
call fcn.00441020
lea ebx, [esp + 0x20]
lea edi, [esp + 0x30]
call fcn.00441e40
test eax, eax
jl 0x441ded
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441dff
mov dword [eax], 0xb
jmp 0x441dff
test esi, esi
jne 0x441e1a
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x441dff
mov dword [esi], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x441e0d
mov dword [eax], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441e1a
mov word [eax], 0x20
mov ecx, dword [esp + 0x834]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0052944d
add esp, 0x828
ret