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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x53f2f7
sub esp, 0xc0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
test ecx, ecx
jne 0x53f091
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x2c]
lea ecx, [ecx + edx*2]
add ecx, dword [eax + 0x38]
movzx edx, byte [eax + 0x4c]
movzx ebx, byte [eax + 0x40]
test dl, dl
je 0x53f088
lea edx, [ebx + 1]
mov ebx, 5
mov ebp, dword [eax + 0x48]
test ebp, ebp
jle 0x53e447
lea ebx, [ebx + ebp + 5]
inc edx
mov ebp, dword [eax + 0x54]
test ebp, ebp
jle 0x53e453
lea ebx, [ebx + ebp*2 + 2]
inc edx
mov ebp, dword [eax + 0x60]
test ebp, ebp
jle 0x53e45f
lea ebx, [ebp + ebx + 1]
inc edx
movzx ebp, byte [eax + 0x68]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53e46f
mov ebp, dword [eax + 0x70]
add ebx, ebp
inc edx
mov ebp, dword [eax + 0x7c]
test ebp, ebp
jle 0x53e47b
lea ebx, [ebx + ebp*2 + 2]
inc edx
movzx ebp, byte [eax + 0x90]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53e493
mov ebp, dword [eax + 0x88]
lea ebx, [ebp + ebx + 1]
inc edx
mov ebp, dword [eax + 0x94]
mov esi, dword [eax + 0x98]
test esi, esi
jle 0x53e4d8
mov dword [esp + 0x60], ecx
add ebx, 2
xor edi, edi
jmp 0x53e4b7
inc edi
lea ebx, [ecx + ebx + 1]
mov ecx, dword [esp + 0x60]
cmp edi, esi
jge 0x53e4d7
lea ecx, [ebp + edi*8]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x53f2dd
cmp ecx, 0xff
jle 0x53e4ae
jmp 0x53f2dd
inc edx
movzx ebp, byte [eax + 0x4d]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53e4e3
inc edx
mov dword [esp + 0x30], edx
lea ebp, [ecx + 0x26]
test edx, edx
jle 0x53f081
lea ebx, [ebx + edx*4]
lea ecx, [ebx + ecx + 0x28]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], ebx
lea eax, [0x5dfee0]
mov dword [esp], eax
lea eax, [ecx + 4]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00437b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jbe 0x53f2d6
mov byte [eax], 1
cmp ecx, 1
jbe 0x53f2cf
mov ebx, dword [esp + 0x34]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp ecx, 2
jbe 0x53f2c8
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp ecx, 3
jbe 0x53f2c1
mov byte [eax + 3], bl
mov edi, dword [esp + 0xc4]
movzx ebx, word [edi + 0xc]
cmp ecx, 4
jbe 0x53f2ba
shr bx, 8
mov byte [eax + 4], bl
movzx ebx, word [edi + 0xc]
cmp ecx, 5
jbe 0x53f2b3
mov byte [eax + 5], bl
cmp edx, 0x26
jb 0x53f2ac
mov ebx, dword [edi + 0x14]
mov ebp, dword [edi + 0x10]
cmp ebx, 0x20
jge 0x53f077
mov dword [esp + 0xa0], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
lea esi, [eax + 6]
cmp ebp, esi
je 0x53e5d0
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0044be80
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x20]
mov edx, dword [esp + 0x24]
cmp edx, 0x26
jbe 0x53f2a5
mov eax, dword [esp + 0xa0]
mov byte [eax + 0x26], cl
mov ecx, dword [edi + 0x20]
lea ebx, [ecx + 0x27]
mov ebp, dword [edi + 0x1c]
cmp ebx, 0x27
jb 0x53f29e
mov esi, dword [esp + 0x28]
cmp ebx, esi
ja 0x53f29e
lea ebx, [esi - 0x27]
neg ebx
sar ebx, 0x1f
and ebx, 0x27
add ebx, eax
cmp ebx, ebp
je 0x53e630
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.0044be80
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x20]
add ecx, 0x27
mov edx, dword [esp + 0x24]
cmp ecx, edx
ja 0x53f297
mov ebx, dword [esp + 0x28]
sub ebx, ecx
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov eax, dword [esp + 0xa0]
lea ebp, [ebx + eax]
sub edx, ecx
mov ecx, dword [edi + 0x2c]
test edx, edx
jbe 0x53f290
sar ecx, 7
mov byte [eax + ebx], cl
mov ecx, dword [edi + 0x2c]
cmp edx, 1
jbe 0x53f289
mov dword [esp + 0x60], esi
shl ecx, 1
mov byte [eax + ebx + 1], cl
mov ecx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ebx, dword [edi + 0x2c]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
jmp 0x53e6cf
mov byte [esi + ebp + 3], bl
mov ecx, dword [esp + 0x38]
inc ecx
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0xbc]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x38]
cmp esi, ebx
jge 0x53e6fe
movzx ecx, word [ecx + esi*2]
shl esi, 1
lea ebx, [esi + 2]
cmp ebx, edx
jae 0x53f282
mov ebx, ecx
shr cx, 8
mov byte [esi + ebp + 2], cl
lea ecx, [esi + 3]
cmp ecx, edx
jb 0x53e6ac
jmp 0x53f27b
mov ecx, dword [edi + 0x2c]
shl ecx, 1
add ecx, 2
cmp ecx, edx
ja 0x53f274
mov ebx, dword [esp + 0x60]
sub ebx, ecx
mov dword [esp + 0x20], ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
lea esi, [ebx + ebp]
sub edx, ecx
mov ecx, dword [edi + 0x38]
test edx, edx
jbe 0x53f26d
mov dword [esp + 0x9c], esi
mov byte [ebp + ebx], cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx - 1]
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, esi
lea ebp, [edx - 1]
mov esi, dword [edi + 0x38]
mov ecx, dword [edi + 0x34]
cmp ebp, esi
jle 0x53f070
mov dword [esp + 0x1c], edx
cmp ecx, ebx
je 0x53e774
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0044be80
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x38]
inc ecx
mov edx, dword [esp + 0x1c]
cmp ecx, edx
ja 0x53f266
mov ebx, dword [esp + 0x20]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x9c]
mov eax, ebp
lea ebp, [ebx + esi]
sub edx, ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
jle 0x53f067
test edx, edx
jbe 0x53f25f
mov ecx, dword [esp + 0x3c]
sar ecx, 8
mov byte [esi + ebx], cl
cmp edx, 1
jbe 0x53f258
mov ecx, dword [esp + 0x3c]
mov byte [esi + ebx + 1], cl
lea ecx, [eax - 2]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebp
add edx, 0xfffffffe
movzx ebp, byte [edi + 0x40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53f060
test edx, edx
jbe 0x53f251
mov byte [ecx], 0x33
cmp edx, 1
jbe 0x53f24a
mov byte [ecx + 1], 0x74
cmp edx, 4
jb 0x53f243
add ebx, 0xfffffffc
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add ecx, ebx
add edx, 0xfffffffc
mov ebx, dword [edi + 0x48]
test ebx, ebx
jg 0x53ef16
movzx ebx, byte [edi + 0x4c]
test bl, bl
je 0x53e897
test edx, edx
jbe 0x53f1fd
mov byte [ecx], 0
cmp edx, 1
jbe 0x53f1f6
mov byte [ecx + 1], 5
cmp edx, 2
jbe 0x53f1ef
mov byte [ecx + 2], 0
cmp edx, 3
jbe 0x53f1e8
mov byte [ecx + 3], 5
cmp edx, 4
jbe 0x53f1e1
mov byte [ecx + 4], 1
cmp edx, 9
jb 0x53f1da
lea ebx, [ebp - 9]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 9
add ecx, ebx
add edx, 0xfffffff7
mov ebx, dword [edi + 0x54]
test ebx, ebx
jle 0x53e97b
test edx, edx
jbe 0x53f1d3
mov byte [ecx], 0
cmp edx, 1
jbe 0x53f1cc
mov byte [ecx + 1], 0xa
mov ebx, dword [edi + 0x54]
cmp edx, 2
jbe 0x53f1c5
shl ebx, 1
lea esi, [ebx + 2]
mov eax, esi
sar esi, 8
xchg esi, eax
mov byte [ecx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x53f1be
mov byte [ecx + 3], al
cmp edx, 4
jbe 0x53f1b7
mov esi, ebx
sar ebx, 8
mov byte [ecx + 4], bl
cmp edx, 5
jbe 0x53f1b0
xchg esi, eax
mov byte [ecx + 5], al
xchg esi, eax
lea ebx, [ebp - 6]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 6
add ecx, ebx
add edx, 0xfffffffa
mov ebx, dword [edi + 0x54]
mov esi, dword [edi + 0x50]
mov dword [esp + 0xb8], esi
xor eax, eax
jmp 0x53e954
movzx esi, word [esp + 0x1a]
xchg esi, eax
mov byte [ecx + 1], al
xchg esi, eax
inc eax
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ecx, ebp
add edx, 0xfffffffe
mov ebp, dword [esp + 0xb8]
mov ebp, esi
mov esi, dword [esp + 0xb8]
cmp eax, ebx
jge 0x53e97b
movzx esi, word [esi + eax*2]
test edx, edx
jbe 0x53f1a9
mov word [esp + 0x1a], si
shr si, 8
xchg esi, eax
mov byte [ecx], al
xchg esi, eax
cmp edx, 1
ja 0x53e923
jmp 0x53f1a2
mov ebx, dword [edi + 0x60]
test ebx, ebx
jle 0x53ea28
test edx, edx
jbe 0x53f19b
mov byte [ecx], 0
cmp edx, 1
jbe 0x53f194
mov byte [ecx + 1], 0xb
mov ebx, dword [edi + 0x60]
cmp edx, 2
jbe 0x53f18d
lea esi, [ebx + 1]
mov eax, esi
sar esi, 8
xchg esi, eax
mov byte [ecx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x53f186
mov byte [ecx + 3], al
cmp edx, 4
jbe 0x53f17f
mov byte [ecx + 4], bl
lea ebx, [ebp - 5]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 5
add ecx, ebx
add edx, 0xfffffffb
mov ebx, dword [edi + 0x5c]
mov dword [esp + 0xb4], ebx
mov esi, dword [edi + 0x60]
xor eax, eax
jmp 0x53ea17
mov byte [ecx], bl
inc eax
dec ebp
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ecx, ebp
dec edx
mov ebp, dword [esp + 0xb4]
mov ebp, ebx
mov ebx, dword [esp + 0xb4]
cmp eax, esi
jge 0x53ea28
movzx ebx, byte [ebx + eax]
test edx, edx
ja 0x53e9f2
jmp 0x53f178
movzx ebx, byte [edi + 0x68]
test bl, bl
je 0x53ef0f
test edx, edx
jbe 0x53f171
mov byte [ecx], 0
cmp edx, 1
jbe 0x53f16a
mov byte [ecx + 1], 0x23
mov ebx, dword [edi + 0x70]
cmp edx, 2
jbe 0x53f163
mov esi, ebx
sar ebx, 8
mov byte [ecx + 2], bl
cmp edx, 3
jbe 0x53f15c
xchg esi, eax
mov byte [ecx + 3], al
xchg esi, eax
lea ebx, [ebp - 4]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add ecx, ebx
add edx, 0xfffffffc
mov ebx, dword [edi + 0x70]
mov esi, dword [edi + 0x6c]
cmp edx, ebx
jle 0x53ef08
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x9c], ecx
cmp esi, ecx
je 0x53eab1
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.0044be80
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x70]
mov edx, dword [esp + 0x58]
cmp ecx, edx
ja 0x53f155
mov ebx, dword [esp + 0x60]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x9c]
add ebx, esi
sub edx, ecx
mov ecx, dword [edi + 0x7c]
test ecx, ecx
jle 0x53eefd
test edx, edx
jbe 0x53f14e
mov byte [ebx], 0
cmp edx, 1
jbe 0x53f147
mov byte [ebx + 1], 0xd
mov ecx, dword [edi + 0x7c]
cmp edx, 2
jbe 0x53f140
shl ecx, 1
lea esi, [ecx + 2]
mov eax, esi
sar esi, 8
xchg esi, eax
mov byte [ebx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x53f139
mov dword [esp + 0x54], edx
mov byte [ebx + 3], al
lea esi, [ebp - 4]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
mov eax, ebp
lea ebp, [ebx + esi]
add edx, 0xfffffffc
test edx, edx
jbe 0x53f132
mov dword [esp + 0x60], ecx
sar ecx, 8
mov byte [ebx + esi], cl
cmp edx, 1
jbe 0x53f12b
mov ecx, dword [esp + 0x60]
mov byte [ebx + esi + 1], cl
lea ecx, [eax - 6]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebp
mov ebx, dword [esp + 0x54]
add ebx, 0xfffffffa
mov ebp, dword [edi + 0x7c]
mov esi, dword [edi + 0x78]
mov dword [esp + 0xb0], esi
xor eax, eax
jmp 0x53ebbd
movzx esi, word [esp + 0x18]
xchg esi, eax
mov byte [ecx + 1], al
xchg esi, eax
inc eax
add edx, 0xfffffffe
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 2
add ecx, edx
add ebx, 0xfffffffe
mov edx, dword [esp + 0xb0]
mov edx, esi
mov esi, dword [esp + 0xb0]
cmp eax, ebp
jge 0x53ebe4
movzx esi, word [esi + eax*2]
test ebx, ebx
jbe 0x53f124
mov word [esp + 0x18], si
shr si, 8
xchg esi, eax
mov byte [ecx], al
xchg esi, eax
cmp ebx, 1
ja 0x53eb90
jmp 0x53f11d
movzx ebp, byte [edi + 0x90]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53eef2
test ebx, ebx
jbe 0x53f116
mov byte [ecx], 0xff
cmp ebx, 1
jbe 0x53f10f
mov byte [ecx + 1], 1
cmp ebx, 2
jbe 0x53f108
mov byte [ecx + 2], 0
mov ebp, dword [edi + 0x88]
cmp ebx, 3
jbe 0x53f101
inc ebp
xchg ebp, eax
mov byte [ecx + 3], al
xchg ebp, eax
mov ebp, dword [edi + 0x88]
cmp ebx, 4
jbe 0x53f0fa
xchg ebp, eax
mov byte [ecx + 4], al
xchg ebp, eax
add edx, 0xfffffffb
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, 5
add ecx, edx
lea edx, [ebx - 5]
mov ebx, dword [edi + 0x88]
mov esi, dword [edi + 0x84]
cmp edx, ebx
jle 0x53eeeb
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x9c], ecx
cmp esi, ecx
je 0x53ec8c
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.0044be80
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x88]
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x53f0f3
mov ebx, dword [esp + 0x60]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x9c]
add ebx, esi
sub edx, ecx
mov ecx, dword [edi + 0x98]
test ecx, ecx
jle 0x53eee5
test edx, edx
jbe 0x53f0ec
mov byte [ebx], 0
cmp edx, 1
jbe 0x53f0e5
mov byte [ebx + 1], 0x10
cmp edx, 6
jb 0x53f0de
mov dword [esp + 0xac], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x20], ebp
lea ecx, [ebp - 6]
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 6
add ecx, ebx
mov eax, ebx
lea ebx, [edx - 6]
mov ebp, dword [edi + 0x98]
mov dword [esp + 0x60], ebp
mov edx, dword [edi + 0x94]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
jmp 0x53ed94
mov eax, dword [esp + 0x5c]
inc eax
mov esi, dword [esp + 0x58]
sub esi, edx
mov ebp, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
mov edi, dword [esp + 0xa4]
add esi, edi
sub ebx, edx
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 1]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0xa8]
mov edx, edi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x2c], ecx
mov ecx, esi
mov esi, ebp
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x5c]
cmp esi, ebp
jge 0x53ee1b
lea edx, [edx + esi*8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
test ebx, ebx
jbe 0x53f0d7
mov dword [esp + 0xa4], ecx
xchg ebp, eax
mov byte [ecx], al
xchg ebp, eax
mov esi, dword [esp + 0x58]
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add esi, ecx
lea ecx, [ebx - 1]
cmp ecx, ebp
jle 0x53ee0b
mov ecx, ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], ebx
cmp esi, edx
je 0x53edf3
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0044be80
mov ecx, dword [esp + 0x54]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x48]
cmp edx, ebx
jbe 0x53ed3e
jmp 0x53f0d0
mov dword [esp + 0x64], eax
mov eax, ecx
mov ecx, ebp
mov ebp, eax
mov eax, dword [esp + 0x64]
jmp 0x53edd7
mov edx, dword [esp + 0x4c]
add edx, 0xfffffffe
cmp edx, 2
jbe 0x53f0c9
mov ebp, dword [esp + 0x20]
add ebp, 0xfffffffe
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
mov esi, dword [esp + 0x2c]
sar esi, 8
xchg esi, ebx
mov byte [eax + ebp + 2], bl
xchg esi, ebx
cmp edx, 3
jbe 0x53f0c2
mov edx, dword [esp + 0x2c]
mov byte [eax + ebp + 3], dl
add edx, 2
mov esi, edx
sar edx, 8
mov byte [eax + ebp], dl
xchg esi, ebx
mov byte [eax + ebp + 1], bl
xchg esi, ebx
movzx edx, byte [edi + 0x4d]
test dl, dl
je 0x53ee9a
test ebx, ebx
jbe 0x53f0bb
mov byte [ecx], 0
cmp ebx, 1
jbe 0x53f0b4
mov byte [ecx + 1], 0x12
cmp ebx, 4
jb 0x53f0ad
mov ecx, dword [esp + 0x24]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x28]
mov dword [edi + 8], edx
mov ebx, dword [0x7db370]
test ebx, ebx
jne 0x53eed7
mov eax, dword [esp + 0xa0]
mov dword [edi], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
add esp, 0xc0
ret
mov eax, dword [esp + 0xa0]
call fcn.0044b680
jmp 0x53eebb
mov ecx, ebx
mov ebx, edx
jmp 0x53ee71
mov ebx, edx
jmp 0x53ec69
mov ebp, edx
mov edx, ebx
mov ebx, ecx
jmp 0x53ecbf
mov ecx, ebx
mov ebx, edx
mov edx, ebp
jmp 0x53ebe4
mov ebx, edx
jmp 0x53ea8e
mov ebx, ecx
jmp 0x53eae1
test edx, edx
jbe 0x53f23c
mov byte [ecx], 0
cmp edx, 1
jbe 0x53f235
mov byte [ecx + 1], 0
mov eax, dword [edi + 0x48]
cmp edx, 2
jbe 0x53f22e
add eax, 5
mov ebx, eax
sar eax, 8
mov byte [ecx + 2], al
cmp edx, 3
jbe 0x53f227
mov dword [esp + 0x60], ebx
mov dword [esp + 0x44], edx
mov byte [ecx + 3], bl
lea eax, [ebp - 4]
mov dword [esp + 0x20], eax
neg eax
sar eax, 0x1f
and eax, 4
lea esi, [ecx + eax]
lea ebx, [edx - 4]
mov edx, dword [edi + 0x48]
test ebx, ebx
jbe 0x53f220
add edx, 3
sar edx, 8
mov byte [ecx + eax], dl
mov edx, dword [edi + 0x48]
cmp ebx, 1
jbe 0x53f219
add edx, 3
mov byte [ecx + eax + 1], dl
mov edx, dword [edi + 0x48]
cmp ebx, 3
jbe 0x53f212
sar edx, 8
mov byte [ecx + eax + 3], dl
mov edx, dword [edi + 0x48]
cmp ebx, 4
jbe 0x53f20b
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x40], ebp
mov byte [ecx + eax + 4], dl
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x44]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x7c]
mov dword [esp], eax
call fcn.0043b0b0
mov eax, dword [esp + 0x40]
add eax, 0xfffffff7
neg eax
sar eax, 0x1f
and eax, 5
mov ecx, dword [esp + 0x9c]
add eax, ecx
mov edx, dword [esp + 0x44]
add edx, 0xfffffff7
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
cmp edx, ebp
jle 0x53f05c
cmp ebx, eax
je 0x53f020
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044be80
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
cmp ecx, edx
ja 0x53f204
sub edx, ecx
mov ebp, dword [esp + 0x20]
sub ebp, ecx
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
mov esi, dword [esp + 0x9c]
add ecx, esi
mov edi, dword [esp + 0xc4]
mov ebp, ebx
jmp 0x53e835
mov ebp, edx
jmp 0x53f00c
mov ebp, ebx
jmp 0x53e82a
mov ebx, eax
mov ecx, ebp
jmp 0x53e7e9
mov esi, ebp
jmp 0x53e75c
mov ebx, 0x20
jmp 0x53e5aa
mov ecx, ebp
jmp 0x53e4f9
mov edx, ebx
xor ebx, ebx
jmp 0x53e43b
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ebx
add esp, 0xc0
ret
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
lea eax, [0x5dfce0]
mov dword [esp], eax
lea eax, [0x65e3a8]
mov dword [esp + 4], eax
call fcn.00426780
ud2
call fcn.00449f20
jmp fcn.0053e3e0