Function at 0x53b660
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x88
push ebx
push ebp
push esi
push edi
mov ebp, ecx
test byte [ebp], 0x40
mov dword [esp + 0x30], ebp
jne 0x53c2a3
lea esi, [ebp + 0x50]
mov ecx, 0x10
mov edi, 0x26207c0
rep movsd dword es:[edi], dword [esi]
test byte [ebp], 0x40
je 0x53b776
xor eax, eax
lea ecx, [ebp + 0x51]
mov edi, edi
mov dl, byte [eax*8 + 0x26207c0]
cmp dl, byte [ecx - 1]
jne 0x53b76d
test dl, dl
je 0x53b6d3
mov dl, byte [eax*8 + 0x26207c1]
cmp dl, byte [ecx]
jne 0x53b76d
mov dl, byte [eax*8 + 0x26207c2]
cmp dl, byte [ecx + 1]
jne 0x53b76d
mov dl, byte [eax*8 + 0x26207c8]
cmp dl, byte [ecx + 7]
jne 0x53b760
test dl, dl
je 0x53b6ff
mov dl, byte [eax*8 + 0x26207c9]
cmp dl, byte [ecx + 8]
jne 0x53b760
mov dl, byte [eax*8 + 0x26207ca]
cmp dl, byte [ecx + 9]
jne 0x53b760
mov dl, byte [eax*8 + 0x26207d0]
cmp dl, byte [ecx + 0xf]
jne 0x53b765
test dl, dl
je 0x53b727
mov dl, byte [eax*8 + 0x26207d1]
cmp dl, byte [ecx + 0x10]
jne 0x53b765
mov dl, byte [eax*8 + 0x26207d2]
cmp dl, byte [ecx + 0x11]
jne 0x53b765
mov dl, byte [eax*8 + 0x26207d8]
cmp dl, byte [ecx + 0x17]
jne 0x53b76a
test dl, dl
je 0x53b74f
mov dl, byte [eax*8 + 0x26207d9]
cmp dl, byte [ecx + 0x18]
jne 0x53b76a
mov dl, byte [eax*8 + 0x26207da]
cmp dl, byte [ecx + 0x19]
jne 0x53b76a
add eax, 4
add ecx, 0x20
cmp eax, 8
jl 0x53b6a0
jmp 0x53b76d
add eax, 1
jmp 0x53b76d
add eax, 2
jmp 0x53b76d
add eax, 3
cmp eax, 8
je 0x53c2a3
lea eax, [esp + 0x40]
lea esi, [ebp + 0x14]
push eax
mov ecx, esi
call fcn.0053a970
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea eax, [esp + 0x40]
mov dword [esp + 0x14], ecx
push eax
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x18]
call fcn.0053a460
test al, al
je 0x53c21e
lea ecx, [esp + 0x14]
call fcn.0053aa20
test word [eax + 0x5e], 0x83c0
jne 0x53c1f2
mov dword [esp + 0x3c], 0xffffffff
mov esi, 1
lea ecx, [esp + 0x14]
call fcn.0053aa20
lea ecx, [esi + esi*4 + 5]
lea edx, [eax + ecx*4]
mov dword [esp + 0x34], edx
mov edi, 0x26207c1
jmp 0x53b7f0
cmp byte [edi - 1], 0
je 0x53b9cb
xor ebx, ebx
cmp byte [edi + 1], 1
jne 0x53b937
test esi, esi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
je 0x53b864
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov dl, byte [eax + 0x19]
cmp dl, byte [edi]
je 0x53b9dc
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov al, byte [eax + 0x1a]
cmp al, byte [edi]
je 0x53b9dc
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov cl, byte [eax + 0x15]
cmp cl, byte [edi]
je 0x53b9dc
lea ecx, [esp + 0x28]
mov ebx, 1
call fcn.0053a480
mov ebp, dword [esp + 0x30]
lea edx, [esp + 0x58]
add ebp, 0x14
push edx
mov ecx, ebp
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x2c]
call fcn.0053a460
test al, al
je 0x53b9c0
lea esp, [esp]
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov al, byte [eax + 0x19]
cmp al, byte [edi]
je 0x53b9c0
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov cl, byte [eax + 0x1a]
cmp cl, byte [edi]
je 0x53b9c0
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov dl, byte [eax + 0x15]
cmp dl, byte [edi]
je 0x53b9c0
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov al, byte [eax + 0x2d]
cmp al, byte [edi]
je 0x53b9c0
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov cl, byte [eax + 0x2e]
cmp cl, byte [edi]
je 0x53b9c0
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov dl, byte [eax + 0x29]
cmp dl, byte [edi]
je 0x53b9c0
lea ecx, [esp + 0x28]
add ebx, 1
call fcn.0053a480
lea eax, [esp + 0x58]
push eax
mov ecx, ebp
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x2c]
call fcn.0053a460
test al, al
jne 0x53b890
jmp 0x53b9c0
test esi, esi
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
je 0x53b954
lea ecx, [esp + 0x28]
call fcn.0053a480
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x34]
add ecx, 0x14
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x2c]
call fcn.0053a460
test al, al
je 0x53b9c0
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov ebp, dword [eax + 0x34]
lea ecx, [esp + 0x28]
call fcn.0053aa20
mov edx, dword [eax + 0x30]
or edx, ebp
test edx, 0x80000
jne 0x53b9c0
lea ecx, [esp + 0x28]
add ebx, 1
call fcn.0053a480
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x48]
push eax
add ecx, 0x14
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x2c]
call fcn.0053a460
test al, al
jne 0x53b973
mov ecx, 0x3e8
sub ecx, ebx
mov word [edi + 5], cx
add edi, 8
cmp edi, 0x2620801
jl 0x53b7f0
jmp 0x53b9ed
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x78]
push edx
add ecx, 0x14
call fcn.0053a9f0
mov ebp, dword [esp + 0x34]
mov al, byte [ebp + 5]
test al, al
je 0x53ba04
movzx eax, al
push eax
call fcn.0050fe90
add esp, 4
mov al, byte [ebp + 6]
test al, al
je 0x53ba17
movzx ecx, al
push ecx
call fcn.0050fe90
add esp, 4
mov al, byte [ebp + 1]
test al, al
je 0x53ba2a
movzx edx, al
push edx
call fcn.0050fe90
add esp, 4
test dword [ebp + 0xc], 0x80000
je 0x53ba38
call fcn.0050ff40
mov edi, 0x1000000
test dword [ebp + 0xc], edi
je 0x53ba4c
push 0
call fcn.0050fe90
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0053aa20
lea ecx, [esp + 0x14]
mov byte [eax + esi + 0x7a], 0xff
call fcn.0053aa20
lea ecx, [esp + 0x14]
mov byte [eax + esi + 0x74], 0xff
call fcn.0053aa20
lea ecx, [esp + 0x14]
mov byte [eax + esi + 0x78], 0xff
call fcn.0053aa20
lea ecx, [esp + 0x14]
mov byte [eax + esi + 0x76], 0xff
call fcn.0053aa20
mov byte [eax + esi + 0x7c], 0xff
mov al, byte [ebp + 5]
test al, al
je 0x53baaa
mov ecx, dword [0x26211a4]
push 0
movzx eax, al
push eax
push 0xffffffffffffffff
push ecx
jmp 0x53babc
test dword [ebp + 0xc], edi
je 0x53bad3
mov edx, dword [0x26211a4]
push 0
push 0
push 0xffffffffffffffff
push edx
call fcn.00510a50
add esp, 0x10
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
mov byte [eax + esi + 0x76], bl
mov al, byte [ebp + 6]
test al, al
je 0x53baeb
mov ecx, dword [0x26211a4]
push 0
movzx eax, al
push eax
push 0xffffffffffffffff
push ecx
jmp 0x53bb03
test dword [ebp + 0xc], edi
je 0x53bb1a
cmp byte [ebp + 4], 0xff
je 0x53bb1a
mov edx, dword [0x26211a4]
push 0
push 0
push 0xffffffffffffffff
push edx
call fcn.00510a50
add esp, 0x10
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
mov byte [eax + esi + 0x78], bl
test dword [ebp + 0xc], 0x80000
je 0x53bb44
mov eax, dword [0x26211a4]
push 0
push 0xffffffffffffffff
push eax
call fcn.00510bf0
add esp, 0xc
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
mov byte [eax + esi + 0x7a], bl
mov al, byte [ebp + 1]
test al, al
je 0x53bbd1
cmp byte [ebp + 2], 0xf
push 0
jne 0x53bbc0
movzx ecx, al
push ecx
push 1
call fcn.0050fd50
add esp, 0xc
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
lea ecx, [esp + 0x14]
mov byte [eax + esi + 0x74], bl
call fcn.0053aa20
cmp byte [eax + esi + 0x74], 0
jge 0x53c05a
xor edi, edi
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
call fcn.0053ad20
test edi, edi
setne bl
add bl, 1
test edi, edi
je 0x53bc2d
mov byte [esp + 0x1f], 0
jmp 0x53bc34
movzx edx, al
mov eax, dword [0x26211a4]
push edx
push 0xffffffffffffffff
push eax
jmp 0x53c043
test dword [ebp + 8], 0x80000
je 0x53c05a
cmp byte [ebp + 2], 0xf
push 0
jne 0x53bc1f
push 0
push 2
call fcn.0050fd50
add esp, 0xc
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
lea ecx, [esp + 0x14]
mov byte [eax + esi + 0x7a], bl
call fcn.0053aa20
cmp byte [eax + esi + 0x7a], 0
jge 0x53c05a
mov edi, 1
jmp 0x53bb8a
mov ecx, dword [0x26211a4]
push 0xffffffffffffffff
push ecx
jmp 0x53c01c
mov dl, byte [ebp + 1]
mov byte [esp + 0x1f], dl
lea ecx, [esp + 0x14]
call fcn.0053aa20
cmp byte [eax + esi + 0x7a], 0
jl 0x53bd7d
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x7a]
cmp dword [esp + 0x3c], eax
je 0x53bd7d
mov ebp, dword [esp + 0x30]
lea ecx, [esp + 0x88]
push ecx
add ebp, 0x14
mov ecx, ebp
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.00539ca0
test al, al
jne 0x53bcbd
mov edx, dword [esp + 0x34]
test dword [edx + 0xc], 0x80000
je 0x53bd79
lea ecx, [esp + 0x20]
call fcn.0053aa20
test dword [eax + 0x4c], 0x80000
je 0x53bcbd
lea ecx, [esp + 0x20]
call fcn.0053aa20
test dword [eax + 0x3c], 0x80000
jne 0x53bd79
lea eax, [esp + 0x60]
push eax
mov ecx, ebp
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.00539ca0
test al, al
jne 0x53bce9
lea ecx, [esp + 0x20]
call fcn.0053aa20
test dword [eax + 0x3c], 0x80000
je 0x53bd00
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx ecx, byte [eax + esi + 0x7a]
push ecx
call fcn.00510070
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx edx, byte [eax + esi + 0x7a]
lea ecx, [esp + 0x14]
mov byte [edx*8 + 0x26207c0], 1
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x7a]
mov cl, byte [esp + 0x1f]
mov byte [eax*8 + 0x26207c1], cl
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx edx, byte [eax + esi + 0x7a]
lea ecx, [esp + 0x14]
mov byte [edx*8 + 0x26207c2], bl
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x7a]
lea ecx, [esp + 0x14]
mov byte [eax*8 + 0x26207c3], 0
call fcn.0053aa20
mov bl, byte [eax + esi + 0x7a]
lea ecx, [esp + 0x14]
call fcn.0053aa20
mov ebp, dword [esp + 0x34]
jmp 0x53c056
mov ebp, dword [esp + 0x34]
lea ecx, [esp + 0x14]
call fcn.0053aa20
cmp byte [eax + esi + 0x76], 0
jl 0x53bece
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx ecx, byte [eax + esi + 0x76]
cmp dword [esp + 0x3c], ecx
je 0x53bece
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x68]
add ecx, 0x14
push edx
mov dword [esp + 0x3c], ecx
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.00539ca0
test al, al
jne 0x53be09
cmp byte [ebp + 5], al
jbe 0x53bece
lea ecx, [esp + 0x20]
call fcn.0053aa20
mov cl, byte [ebp + 5]
mov edx, 1
shl edx, cl
test dword [eax + 0x50], edx
je 0x53be09
lea ecx, [esp + 0x20]
call fcn.0053aa20
mov cl, byte [ebp + 5]
mov edx, 1
shl edx, cl
test dword [eax + 0x40], edx
jne 0x53bece
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x70]
push eax
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.00539ca0
test al, al
jne 0x53be36
lea ecx, [esp + 0x20]
call fcn.0053aa20
mov cl, byte [ebp + 5]
test byte [eax + 0x40], cl
je 0x53be4d
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx edx, byte [eax + esi + 0x76]
push edx
call fcn.00510070
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x76]
lea ecx, [esp + 0x14]
mov byte [eax*8 + 0x26207c0], 1
call fcn.0053aa20
movsx ecx, byte [eax + esi + 0x76]
mov dl, byte [esp + 0x1f]
mov byte [ecx*8 + 0x26207c1], dl
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x76]
lea ecx, [esp + 0x14]
mov byte [eax*8 + 0x26207c2], bl
call fcn.0053aa20
movsx ecx, byte [eax + esi + 0x76]
mov byte [ecx*8 + 0x26207c3], 0
lea ecx, [esp + 0x14]
call fcn.0053aa20
mov bl, byte [eax + esi + 0x76]
lea ecx, [esp + 0x14]
call fcn.0053aa20
test edi, edi
je 0x53c056
mov byte [eax + esi + 0x7a], bl
jmp 0x53c05a
lea ecx, [esp + 0x14]
call fcn.0053aa20
cmp byte [eax + esi + 0x78], 0
jl 0x53c00d
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx edx, byte [eax + esi + 0x78]
cmp dword [esp + 0x3c], edx
je 0x53c00d
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x80]
add ecx, 0x14
push eax
mov dword [esp + 0x3c], ecx
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.00539ca0
test al, al
jne 0x53bf5d
cmp byte [ebp + 6], al
jbe 0x53c00d
lea ecx, [esp + 0x20]
call fcn.0053aa20
mov cl, byte [ebp + 6]
mov edx, 1
shl edx, cl
test dword [eax + 0x50], edx
je 0x53bf5d
lea ecx, [esp + 0x20]
call fcn.0053aa20
mov cl, byte [ebp + 6]
mov edx, 1
shl edx, cl
test dword [eax + 0x40], edx
jne 0x53c00d
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x50]
push eax
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.00539ca0
test al, al
jne 0x53bf8a
lea ecx, [esp + 0x20]
call fcn.0053aa20
mov cl, byte [ebp + 6]
test byte [eax + 0x40], cl
je 0x53bfa1
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx edx, byte [eax + esi + 0x78]
push edx
call fcn.00510070
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x78]
lea ecx, [esp + 0x14]
mov byte [eax*8 + 0x26207c0], 1
call fcn.0053aa20
movsx ecx, byte [eax + esi + 0x78]
mov dl, byte [esp + 0x1f]
mov byte [ecx*8 + 0x26207c1], dl
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x78]
lea ecx, [esp + 0x14]
mov byte [eax*8 + 0x26207c2], bl
call fcn.0053aa20
movsx ecx, byte [eax + esi + 0x78]
mov byte [ecx*8 + 0x26207c3], 0
lea ecx, [esp + 0x14]
call fcn.0053aa20
mov bl, byte [eax + esi + 0x78]
jmp 0x53beb4
test edi, edi
push 0
je 0x53c035
mov edx, dword [0x26211a4]
push 0xffffffffffffffff
push edx
call fcn.00510bf0
add esp, 0xc
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
mov byte [eax + esi + 0x7a], bl
jmp 0x53c05a
movzx eax, byte [ebp + 1]
mov ecx, dword [0x26211a4]
push eax
push 0xffffffffffffffff
push ecx
call fcn.00510a50
add esp, 0x10
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
mov byte [eax + esi + 0x74], bl
lea ecx, [esp + 0x14]
call fcn.0053aa20
cmp byte [eax + esi + 0x74], 0
lea ecx, [esp + 0x14]
jl 0x53c07e
call fcn.0053aa20
movsx edx, byte [eax + esi + 0x74]
mov dword [esp + 0x3c], edx
jmp 0x53c09c
call fcn.0053aa20
cmp byte [eax + esi + 0x7a], 0
jl 0x53c09c
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx eax, byte [eax + esi + 0x7a]
mov dword [esp + 0x3c], eax
test esi, esi
jne 0x53c0c0
cmp byte [ebp + 1], 0
jne 0x53c0c0
cmp byte [ebp + 5], 0
jne 0x53c0c0
cmp byte [ebp + 6], 0
jne 0x53c0c0
test dword [ebp + 8], 0x80000
jne 0x53c0c0
or ebp, 0xffffffff
jmp 0x53c0ce
push 0xffffffffffffffff
push 1
call fcn.005109f0
add esp, 8
mov ebp, eax
xor ebx, ebx
xor edi, edi
test esi, esi
mov dword [esp + 0x38], ebx
jne 0x53c2ab
lea ecx, [esp + 0x14]
call fcn.0053aa20
cmp byte [eax + 0x75], 0
jl 0x53c14f
lea ecx, [esp + 0x14]
call fcn.0053aa20
mov cl, byte [eax + 0x76]
mov byte [esp + 0x1f], cl
lea ecx, [esp + 0x14]
call fcn.0053aa20
mov dl, byte [esp + 0x1f]
cmp dl, byte [eax + 0x75]
je 0x53c131
lea ecx, [esp + 0x14]
call fcn.0053aa20
mov al, byte [eax + 0x78]
lea ecx, [esp + 0x14]
mov byte [esp + 0x1f], al
call fcn.0053aa20
mov cl, byte [esp + 0x1f]
cmp cl, byte [eax + 0x75]
jne 0x53c14f
push 0xffffffffffffffff
push 1
call fcn.005109f0
add esp, 8
lea ecx, [esp + 0x14]
mov ebx, eax
call fcn.0053aa20
mov byte [eax + 0x7c], bl
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
test dword [eax + 8], 0x800000
je 0x53c17a
push 0xffffffffffffffff
push 1
call fcn.005109f0
add esp, 8
cmp ebp, 0xffffffff
mov ebx, eax
jne 0x53c171
mov ebp, ebx
push ebx
call fcn.00510070
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0053aa20
cmp byte [eax + esi + 0x7c], 0
jl 0x53c1a1
lea ecx, [esp + 0x14]
call fcn.0053aa20
movsx ecx, byte [eax + esi + 0x7c]
push ecx
call fcn.00510070
add esp, 4
test ebp, ebp
jl 0x53c1ae
push ebp
call fcn.00510070
add esp, 4
shl edi, 8
or edi, ebx
mov edx, ebp
and edx, 0xf
shl edi, 8
lea ecx, [esp + 0x14]
or edi, edx
call fcn.0053aa20
cmp ebp, 0xffffffff
mov dword [eax + esi*4 + 0x6c], edi
jne 0x53c1e4
lea ecx, [esp + 0x14]
call fcn.0053aa20
or dword [eax + esi*4 + 0x6c], 0x80000000
lea eax, [eax + esi*4 + 0x6c]
call fcn.00510040
sub esi, 1
jns 0x53b7d2
lea ecx, [esp + 0x14]
call fcn.0053a480
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x40]
push eax
add ecx, 0x14
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x18]
call fcn.0053a460
test al, al
jne 0x53b7b0
mov edx, dword [esp + 0x30]
movzx ecx, word [edx]
mov eax, ecx
shr eax, 6
not eax
and eax, 1
or ecx, 0x40
test eax, eax
mov word [edx], cx
je 0x53c2a3
lea ecx, [esp + 0x50]
lea esi, [edx + 0x2c]
push ecx
mov ecx, esi
call fcn.0053a970
mov edx, dword [eax]
mov eax, dword [eax + 4]
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.0053a460
test al, al
je 0x53c2a3
nop
lea ecx, [esp + 0x20]
call fcn.0053aa10
mov ecx, dword [eax]
call fcn.0053b660
lea ecx, [esp + 0x20]
call fcn.0053a480
lea edx, [esp + 0x40]
push edx
mov ecx, esi
call fcn.0053a9f0
push eax
lea ecx, [esp + 0x24]
call fcn.0053a460
test al, al
jne 0x53c270
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 1
jne 0x53c14f
mov edx, dword [esp + 0x34]
test dword [edx + 8], 0x40000
je 0x53c14f
test ebp, ebp
jge 0x53c2d6
push 0xffffffffffffffff
push esi
call fcn.005109f0
add esp, 8
mov ebp, eax
push 0xffffffffffffffff
push 1
call fcn.005109f0
push 0xffffffffffffffff
push 1
mov ebx, eax
call fcn.005109f0
push ebx
mov edi, eax
call fcn.00510070
push edi
call fcn.00510070
add esp, 0x18
jmp 0x53c17a